1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
14
14
ZUGRIFFE
1384
1384
EMPFEHLEN
-
23.01.12 13:41 #1Hai,
folgendes Makro :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Sub aaa() Dim Zelle As Range For Each Zelle In Workbooks("VBA SLI.XLS").Worksheets("SLI").Range("F4", "F" & Range("a65536").End(xlUp).Row) If Zelle = "XYZ" Then Workbooks("VBA SLI Aufgabe.XLS").Worksheets("Archiv").Rows(6).Insert Zelle.EntireRow.Copy Destination:=Workbooks("VBA SLI Aufgabe.XLS").Worksheets("Archiv").Range("A6") Else b = b + 1 End If Next Zelle End Sub
Funktioniert :
- wenn ich ihn aus dem Editor starte (Ausführen - Sub ausführen ...)
- wenn ich Einzelschritte durchführe (F8)
Funktioniert nicht :
-wenn ich aus der Datei VBA SLI heraus starte. Dann wird nach der ersten gefundenen Stelle, incl. Kopie, ohne Fehelrmeldung aufgehört.
Was habe ich falsch gemacht ?
Ciao StefanEine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
-
23.01.12 14:29 #2
item: Aus welcher Datei fühsrt du das mit F8 aus?
item: Wie willst du es aus VBA SLI ausführen? Mit einem Button? Mit F8?
item: Es empfiehlt sich der Übersicht zuliebe die 2 Worksheets als Objekte zu defineren. Macht den Code lesbarer
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Sub aaa() Dim Zelle As Range Dim wsSli AS Worksheet Dim wsArchiv As Worksheet 'Objekte setzen Set wsSli = Workbooks("VBA SLI.XLS").Worksheets("SLI") Set wsArchiv = Workbooks("VBA SLI Aufgabe.XLS").Worksheets("Archiv") For Each Zelle In wsSli.Range("F4", "F" & Range("a65536").End(xlUp).Row) If Zelle = "XYZ" Then wsArchiv.Rows(6).Insert Zelle.EntireRow.Copy Destination:=wsArchiv.Range("A6") Else b = b + 1 End If Next Zelle ' Objekte brav wieder aufräumen Set Zelle = Nothing Set wsSli = nothing Set wsArchiv = Nothing End Sub
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
23.01.12 14:51 #3
Mitglied Brillant
- Registriert seit
- Jul 2008
- Ort
- Hinter dem Mond gleich links
- Beiträge
- 910
Ich bin mir jetzt nicht sicher, aber müssen Arbeitsmappen zur Laufzeit nicht per Workbooks.Open hinzugefügt werden?
Also in der Art von
Code vb:1 2 3
Set wbArchiv=Workbooks.Open("VBA SLI Aufgabe.XLS") Set wsArchiv=wbArchiv("Archiv") 'blablbalba
Wie gesagt, bin mir nicht sicher, da die Schreibweise
eigentlich den Zugriff auf ein Element der Workbooks-Auflistung beschreibt, welches vorher der Auflistung per Open hinzugefügt werden muss.Code vb:1
Set wsArchiv = Workbooks("VBA SLI Aufgabe.XLS").Worksheets("Archiv")
P.S.: Wozu soll das b=b+1 gut sein?Zwei Dinge sind unendlich: Die menschliche Dummheit und das Universum, nur bei letzterem bin ich mir noch nicht sicher. - Albert Einstein
Code vb:1
If Beitrag.Hilfreich=True Then Bewertung.Send("Positiv")
-
23.01.12 14:53 #4
Das open() ist glaub nur, wenn sie noch nicht offen sind. Ich geh eigentlich davon aus, dass dies bereits der Fall ist - wenn nicht, dann gibts hoffentlich ein Fehler.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
23.01.12 15:01 #5
Hai,
VBA SLI Aufgabe.XLSitem: Aus welcher Datei fühsrt du das mit F8 aus?
Gar nicht, bzw. ich verstehe die Frage nicht. (?)item: Wie willst du es aus VBA SLI ausführen? Mit einem Button? Mit F8?
Okay.item: Es empfiehlt sich der Übersicht zuliebe die 2 Worksheets als Objekte zu defineren. Macht den Code lesbarer
Beide Dateien sind auf. In "Schritt 2" sollen die Daten aus der geschlossenen Datei in VBA SLI Aufgaben.XLS kopiert werden.
EIn Button ist noch nicht erstellt.
Ziel ist es aus verschiedenen Projekt-Protokolldateien, die entsprechenden Dateinsätze, die wo mein Name drin steht, in eine "Übersichtsdatei" zu kopieren.
Danke schon mal.
Ciao StefanGeändert von Yaslaw (23.01.12 um 15:03 Uhr) Grund: Zitat als Zitat markiert - ist sonst sehr unübersichtlich
Eine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
-
23.01.12 15:07 #6
Zum 2ten Punkt, den du nicht verstehst zitiere ich dich mal
darum meine FrageFunktioniert nicht :
-wenn ich aus der Datei VBA SLI heraus starte. Dann wird nach der ersten gefundenen Stelle, incl. Kopie, ohne Fehelrmeldung aufgehört.
Aber du beschreibst jetzt in das Problem selberitem: Wie willst du es aus VBA SLI ausführen? Mit einem Button? Mit F8?
Natürlich muss die Datei zuerst geöffnet werden. Zvoni hat beschrieben wie das geht.In "Schritt 2" sollen die Daten aus der geschlossenen Datei in VBA SLI Aufgaben.XLS kopiert werden.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
23.01.12 15:20 #7
Hai,
irgendwie ist heute ncht mein Tag.
Beide Dateien sind geöffnet, ich bin in VBA SLI Aufgabe.XLS, starte das Makro und die Daten aus VBA SLI werden kopiert.
Von Hand (F8 im Editor, Einzelschritte) funktioniert es, Makro Start im Editor funktioniert, bei Start des Makros in VBA SLI.XLS wird nur ein Datensatz kopiert.
Irgendwann einmal, wenn ich ein wenig mehr kann, soll das Ganze laufen ohne die VBA SLI zu öffnen.
Ich hoffe jetzt habe ich mich verständlich ausgedrückt.
Ciao StefanEine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
-
23.01.12 15:27 #8
Jepp hast du. Ich anscheinend nicht.
Wenn das VBA SLI noch nicht offen ist, dann musst du es per VBA zuerst öffnen. Ansonsten findet es Excel nicht.
Workbooks("VBA SLI.XLS") greift auf ein offenes Worbook zu. Ergo musst du mit Set wsSli = Workbooks.Open("C:\temp\VBA SLI.XLS") drauf zugreiffen
Code vb:1 2 3 4 5 6 7 8 9 10
Dim wbSli As Workbook Dim wsSli AS Worksheet Dim wsArchiv As Worksheet 'Objekte setzen Set wbSli = Workbooks.open("C:\Temp\VBA SLI.XLS") 'Oder wo das DDIng auch immer steckt Set wsSli = wbSli.Worksheets("SLI") Set wsArchiv = Workbooks("VBA SLI Aufgabe.XLS").Worksheets("Archiv") ... Call wbSli.close
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
23.01.12 15:39 #9
Hai,
Nachtrag :
Das Problem bleibt. Starte ich das Makro von VBA SLI Aufgabe.XLS wird nach dem ersten kopierten Datensatz aufgehört.
Starte ich von VBA SLI funktioniert es.
In beiden Fällen keine Fehlermeldung.
Langsam verstehe ich nur Bahnhof.
Ciao StefanEine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
-
23.01.12 15:40 #10
Zeig mal dein aktueller Code.
Schon mal mit debug nachgeschaut was passiert?
Nachtrag im for each solltest du beim 2ten Range das Worksheet angeben, sonst nimmt er dort das aktuelle
Code vb:1
wsSli.Range("a65536").End(xlUp).Row
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
23.01.12 15:44 #11
Mitglied Brillant
- Registriert seit
- Jul 2008
- Ort
- Hinter dem Mond gleich links
- Beiträge
- 910
Quizfrage: In welcher der beiden Arbeitsmappen ist das Makro eigentlich drin?
Zwei Dinge sind unendlich: Die menschliche Dummheit und das Universum, nur bei letzterem bin ich mir noch nicht sicher. - Albert Einstein
Code vb:1
If Beitrag.Hilfreich=True Then Bewertung.Send("Positiv")
-
23.01.12 15:46 #12
Hai,
BINGO !
Das wars. Klappt tadellos. Danke.
Ciao StefanEine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
-
23.01.12 16:40 #13
Mitglied Brillant
- Registriert seit
- Jul 2008
- Ort
- Hinter dem Mond gleich links
- Beiträge
- 910
Was wars denn jetzt?
Und falls erledigt, bitte Beitrag auch als erledigt markieren.Zwei Dinge sind unendlich: Die menschliche Dummheit und das Universum, nur bei letzterem bin ich mir noch nicht sicher. - Albert Einstein
Code vb:1
If Beitrag.Hilfreich=True Then Bewertung.Send("Positiv")
-
23.01.12 18:04 #14---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
24.01.12 07:22 #15
Hai,
Yaslaw hat Recht.
@Zvoni : Dein Beitrag kam während ich getippt habe.
Ciao Stefan
PS : Beitrag erledigt. Da ich zur Zeit keinen Internetanschluß habe, kann ich nur sporadisch (heimlich) auf der Arbeit ins Web.Eine weitere sinnlose Page im weltweiten Netz. www.leola13.de
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen !
Man sollte die Tatsachen kennen, bevor man sie verdreht !
Ähnliche Themen
-
VBA - Excel 2003 Makro gesucht um Blätter zusammenzufügen
Von tobmir im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 06.04.10, 13:27 -
Benötige einfaches Makro für EXCEL 2003
Von Gunnii im Forum Office-AnwendungenAntworten: 15Letzter Beitrag: 22.07.09, 19:04 -
Excel 97 VB Makro hat Laufzeitfehler unter Excel 2003
Von V&M im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 23.07.08, 11:16 -
[Excel 2003] Einfachste Möglichkeit, ein Excel Makro zu publizieren
Von meilon im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 18.07.08, 13:46 -
Excel 2007 + Makro + rauschreiben als Excel 1997 - 2003
Von Herli im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 10.08.07, 11:09




Zitieren


Login