1.3k Aufrufe
Gefragt in Tabellenkalkulation von
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

2 Antworten

0 Punkte
Beantwortet von Experte (6.4k Punkte)
Hmm,
wie wär's wenn Du Deine Dateien 001.* ...099.* ...100.* benennst?

mfg, sup[sup]2010[/sup]
0 Punkte
Beantwortet von
oh mann!!!!!!
manchmal kanns so einfach sein... vielen dank! problem gelöst ;)
gruß
...