Sub naLos()
Dim varFileNames As Variant
Dim lngCount 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
'ggf. hier gesamten Zielbereich löschen
For lngCount = LBound(varFileNames) To UBound(varFileNames) Step 1 'vom ersten bis zum letzten File
MsgBox ("File " & varFileNames(lngCount) & " wird verarbeitet") 'Meldung hier nur als Beispielcode
'===========
'PSEUDOCODE
'===========
'EinfügeZielRange ermitteln (1.=A5, 2.=D5, 3.=G5, ...?)
'File öffnen (Workbooks.OpenText Filename:=varfilenames(lngCount), Origin:= ...)
'Range kopieren
'in ZielRange einfügen
'CutCopyMode=false
'geöffnetes File Schliessen
Next lngCount 'nächstes File der Auswahl
End Sub
Sub naLos()
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"
'ggf. hier gesamten Zielbereich löschen
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
' MsgBox ("File " & varFileNames(lngCount) & " wird verarbeitet") 'Meldung hier nur als Beispielcode
'===========
'PSEUDOCODE
'===========
'EinfügeZielRange ermitteln (1.=A5, 2.=D5, 3.=G5, ...?)
lngZielSpalte = lngCount + (lngCount - 1) * 2
'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("A1").CurrentRegion.Copy
'in ZielRange einfügen
wksZiel.Cells(5, lngZielSpalte).Value = wbkQuelle.Name
wksZiel.Cells(6, lngZielSpalte).PasteSpecial Paste:=xlAll
Application.CutCopyMode = False
'geöffnetes File Schliessen
wbkQuelle.Close
Next lngCount 'nächstes File der Auswahl
Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
wksZiel.Range("A5").Select
Set wksZiel = Nothing
Set wbkQuelle = Nothing
End Sub
.
.
.
Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
ThisWorkbook.Activate
wksZiel.Select
wksZiel.Range("A5").Select
Set wksZiel = Nothing
Set wbkQuelle = Nothing
End Sub
Probleme mit laufender Nummer
Kickerman 15.11.2008 - 43 Hits - 7 Antworten
Formel in Excel (Wert soll gleichbleiben)
mel1980 23.06.2009 - 417 Hits - 3 Antworten
Probleme mit komplizierter Wenn Formel
Excel-N00B 25.06.2009 - 200 Hits - 13 Antworten
Eingabe in Zelle aufspalten
Ulle-gt5 07.10.2009 - 299 Hits - 9 Antworten