私は複数のファイルを選択するためのFileDialogを使用しました。 その後、すべてのファイルをループする必要があります。 Forループ内で、ファイルを開いてシートをインポートする必要があります。この例では、ワークブックに含まれるすべてのシートをインポートしました。 コードの終了後にインポートすることで、ソースブックを閉じて、残りのファイルと同じ操作を行います。
Sub Import Files()
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
あなたがループしてApplicationFileダイアログを変更することができますディレクトリからすべてのファイルを取得したい場合は、このようなループディレクトリた:
directory = "c:\test\"
fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
'Put Code From For Loop here.
Loop
それらのファイルのどのような種類がありますか? – Moosli
あなたはフォルダ内のすべてのExcelファイルをループし、あなたが望むことをすることができます、それはうまくいくでしょうか? – Lowpar
ファイルはdatファイルであり、私は何とかループできるようにしたい –