VBA-Laie brauche Schleife, bin zu dumm
23.06.2022 20:10:00
Grand
folgendes Szenario:
Ich habe es bereits geschafft mit meinen absolut nicht vorhandenen VBA-Kenntnissen ein "Dateiverzeichnis" zu erstellen. Dieses enthält in einer Spalte Zieldateinamen und in den drei Spalten rechts daneben Dateinamen von .csv Dateien mit Daten, die in die Zieldatei importiert werden sollen. Wenn ich das Makro laufen lasse, dann läuft es auch fehlerfrei durch...jetzt ist aber mein Ziel, dass, nachdem die erste Zieldatei fertig ist (und automatisch gespeichert und geschlossen wurde), mit der nächsten Zieldatei (also in der darunterliegenden Spalte) weitergemacht werden soll.
Kann mir bitte jemand die Lösung sagen? Ich weiß, dass es bestimmt sehr simpel ist, aber ich kann VBA halt nicht.
Ich hänge folgend einfach mal einen Teil meines Codes an (mir ist klar, dass er wie Kraut und Rüben aussieht, aber es funktioniert, worauf es mir ankommt:
Sub wbOpen()
Dim strPfad As String
strPfad = ActiveWorkbook.Path & "\" & Worksheets(1).Cells(i, 3).Value & ".xlsb"
Application.ScreenUpdating = False
Windows("Dateiverzeichnis.xlsm").Cells(i, 4).Select
Range(Selection, Selection.End(xlToRight)).Copy
Sheets("INFO").Select
Range("A14").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Dim fname As String
fname = "F:\XXX\" & Worksheets(1).Cells(16, 1).Value & ".csv"
Call Import_1(fname, "XXX_Import")
fname = "F:\XXX\" & Worksheets(1).Cells(14, 1).Value & ".csv"
Call Import_2(fname, "YYY1_Import")
fname = "F:\XXX\" & Worksheets(1).Cells(15, 1).Value & ".csv"
Call Import_3(fname, "YYY2_Import")
ActiveWorkbook.Close True
End Sub