online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon 123harald123 vom 23.06.2022, 12:25 Options

Lösung

VBA GetOpenFileName Problem

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


Antwort schreiben

Antwort 1 von supporter2010 vom 23.06.2022, 12:36 OptionsLösung

Lösung
Hmm,
wie wär's wenn Du Deine Dateien 001.* ...099.* ...100.* benennst?

mfg, sup2010

Antwort 2 von 123Harald123 vom 23.06.2022, 12:57 Options

oh mann!!!!!!
manchmal kanns so einfach sein... vielen dank! problem gelöst ;)
gruß

Ähnliche Themen

Ecxel VBA problem
Mr.Bond  14.01.2009 - 114 Hits - 1 Antwort

VBA-Problem mit CHR(13)
Kauz  09.11.2009 - 411 Hits - 10 Antworten

Problem mit einen VBA Code
speedy71  23.01.2010 - 204 Hits - 4 Antworten

getopenfilename probleme
m.eng.86  19.04.2010 - 415 Hits - 8 Antworten

Problem mit zwei VBA Befehle
juppjuppes  20.05.2010 - 255 Hits - 9 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026