2017-10-12 130 views
0

我想整合特定文件夾中的所有Excel文件。我爲我有文件要合併的文件夾的路徑創建了一個輸入框。然後我有文件名的公式,該公式不起作用。它給出值Filename=""。爲什麼會發生?它如何被修復?合併文件

Dim Path as String 
Dim Filename as String 

Path = InputBox("Paste the path of the folder with files to consolidate") 

Filename = Dir(Path & "*.xls*", vbNormal) 
+0

什麼'Path'評估?你確定它找到正確的位置 – Tom

+1

並且那些文件存在於這些類型的路徑嗎? – QHarr

+0

在循環之前,您是否指定了帶有Filename = Dir的文件名? – QHarr

回答

1

爲什麼不使用Excel自己的文件夾選取器?試試這個代碼。

Function PickedFolder() As String 

    Dim Dlg As FileDialog 
    Dim Ffn As String 

    Ffn = Application.DefaultFilePath & "\" 
    Set Dlg = Application.FileDialog(FileDialogType:=msoFileDialogFolderPicker) 
    With Dlg 
     .Title = "Select the folder to consolidate" 
     .InitialView = msoFileDialogViewList 
     .InitialFileName = Ffn 
     .AllowMultiSelect = False 
     If .Show = True Then PickedFolder = .SelectedItems(1) 
    End With 
End Function 

該函數返回用戶選擇的路徑。您可以將其輸入到您的文本框中,或直接進行整合其中找到的文件。