2017-05-11 75 views
1

有沒有辦法在同一個工作簿中打開多個CSV文件(來自同一文件夾)並將其作爲單個工作表打開?目前,如果我打開多個CSV(按CTRL按鍵進行多項選擇),每個CSV將作爲單獨的工作簿打開 - 而我需要的是將每個CSV作爲工作表的單個工作簿。Excel - 如何以表格的形式打開多個CSV文件

更新: -顯然,這可以通過將每個CSV作爲表到工作簿手工完成 - 尋找,因爲這是一個更好的自動方法是一個任務,我需要在許多的CSV重複一遍又一遍。例如 - 我有一個文件夾csvs與文件csv1.csv,csv2.csv,csv3.csv等需要一個工作簿Book1與每個CSV作爲工作表。

回答

0

您可以import CSV並將數據添加到每個文件的新工作表。

+1

這顯然是可能的 - 需要一種自動的方式來做到這一點。 – user3206440

0

下面是一個宏,用於將一個或多個CSV文件加載到已打開的工作簿中(感謝「記錄宏」選項和一點逆向工程)。

Sub LoadWorksheet() 
' 
' LoadWorksheet Macro 
' 

' 
    Workbooks.Open Filename:="path-to-file-you-want-to-load" 
    Application.WindowState = xlNormal 
    Sheets("Sheet1").Select 
    Sheets("Sheet1").Move After:=Workbooks("currently-open-file").Sheets(1) 
End Sub 

的文件名來替換path-to-file-you-want-to-load用的是你要開一個工作表中的第一個文件。 currently-open-file是您要將其他文件加載到的空白Excel文件。將Sheet1替換爲將被移動的文件中的工作表名稱。

如果有在同一文件的多個工作表,你會動過,重複.Select.Move線,以及與這條線之前每對:

Windows("file-you-want-to-load").Activate 

要打開並複製多個文件,只需重複宏的開始部分並用其他文件名填充即可。

有一件事要注意:這個宏將工作表從一個文件移動到另一個文件,而不是複製它們。因此,如果文件中有多個工作表並且只移動其中的一部分,那麼該工作簿將保持打開狀態,當您關閉該工作簿時,Excel會提示您保存並刪除移動的工作表。但是,如果您移動該工作簿中的所有工作表,Excel將關閉該工作簿而不保存更改或提示保存更改。

相關問題