2017-10-12 7 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 

この関数は、ユーザーが選択するパスを返します。テキストボックスに入力するか、直接検索してファイル内のファイルを統合することができます。

関連する問題