hallo zusammen!
ich habe ein kleines problem mit einem makro und hoffe dass ihr mir weiterhelfen könnt!
ich habe mehrere regeldateien (dateinamen: 1-100) und diese sollen der reihe nach (beginnend mit datei "1" bis "100") in eine tabelle geladen werden. das klappt auch alles sehr gut, jedoch wird zuerst die datei mit der höchsten zahl als dateiname und dann erst von 1 bis 99 in aufsteigender reihenfolge eingelesen.
so sieht der code aus:...
Sub filesLaden()
Dim varFileNames As Variant
Dim lngCount As Long
Dim wksZiel As Worksheet
Dim wbkQuelle As Workbook
Dim lngZielSpalte As Long
varFileNames = Application _
.GetOpenFilename("PICS-Regeldateien (*.prf), *.prf", 1, "Datei wählen", , True) 'Filenamen holen
If VarType(varFileNames) = vbBoolean Then 'bei Abbruch
MsgBox "Keine Datei gewählt!" 'kleine Meldung
Exit Sub 'Makro Ende
End If
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Set wksZiel = ThisWorkbook.Worksheets("Tabelle1")
'ZielTabelle !anpassen! und "merken"
'With wksZiel
'.Range(.Range("A5"), .Range("A5").SpecialCells(xlCellTypeLastCell)).clearContents
'End With
For lngCount = LBound(varFileNames) To UBound(varFileNames) Step 1
'vom ersten bis zum letzten File
'===========
'PSEUDOCODE
'===========
lngZielSpalte = lngCount + (lngCount - 1) * 5
'File öffnen (Workbooks.OpenText Filename:=varfilenames(lngCount), Origin:= ...)
Workbooks.OpenText Filename:=varFileNames(lngCount), StartRow:=6, Tab:=True, Comma:=True
Set wbkQuelle = ActiveWorkbook
'Range kopieren
wbkQuelle.ActiveSheet.Range("A7:D900").Copy
'in ZielRange einfügen
wksZiel.Cells(3, lngZielSpalte).Value = wbkQuelle.Name
wksZiel.Cells(5, lngZielSpalte).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
'geöffnetes File Schliessen
wbkQuelle.Close
Next lngCount
'nächstes File der Auswahl
Application.ScreenUpdating = True
'Bildschirmaktualisierung ein
ThisWorkbook.Activate
wksZiel.Select
wksZiel.Range("A5").Select
Set wksZiel = Nothing
Set wbkQuelle = Nothing
End Sub
wäre super wenn mir jemand von euch helfen könnte!
gruß harald