下面是一個宏,用於將一個或多個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將關閉該工作簿而不保存更改或提示保存更改。
這顯然是可能的 - 需要一種自動的方式來做到這一點。 – user3206440