Ich habe einen Code, mit dem ich mehrere Dateien in einer Excel-Arbeitsmappe öffnen kann, anstatt die Datendateien manuell auswählen zu müssen Ich möchte in der Lage sein, meinen Code so zu loopen, dass er alle meine Dateien durchläuft und nach Datendateien namens p00001, p00002, p00003 usw. sucht. Weiß jemand, wie ich meinen Code bearbeiten kann, um alle so genannten Dateien auszuwählen?Vba-Code, um nach belastenden Datendateien zu suchen und sie in separaten Blättern der gleichen Arbeitsmappe zu öffnen
Mein Code ist:
Sub ImportFiles()
Dim sheet As Worksheet
Dim total As Integer
Dim intChoice As Integer
Dim strPath As String
Dim i As Integer
Dim wbNew As Workbook
Dim wbSource As Workbook
Set wbNew = Workbooks.Add
'allow the user to select multiple files
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = True
'make the file dialog visible to the user
intChoice = Application.FileDialog(msoFileDialogOpen).Show
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'determine what choice the user made
If intChoice <> 0 Then
'get the file path selected by the user
For i = 1 To Application.FileDialog(msoFileDialogOpen).SelectedItems.Count
strPath = Application.FileDialog(msoFileDialogOpen).SelectedItems(i)
Set wbSource = Workbooks.Open(strPath)
For Each sheet In wbSource.Worksheets
total = wbNew.Worksheets.Count
wbSource.Worksheets(sheet.Name).Copy _
after:=wbNew.Worksheets(total)
Next sheet
wbSource.Close
Next i
End If
End Sub
Sind diese Dateien * irgendwo * auf Ihrem Computer? Oder haben Sie einen Ordner (vielleicht mit Unterordnern), der alle Dateien enthält, die Sie öffnen/verwenden möchten? – BruceWayne
Sie sind alle in verschiedenen Unterordnern in einem größeren Ordner enthalten. –
Suchen Sie, wie Sie Dateien in Unterordnern durchlaufen, und dann können Sie eine 'If' Anweisung mit dem Dateinamen, zum Beispiel 'If Instr (1, myFile.Name , "P00") Dann ... '. – BruceWayne