1
如何從工作簿中複製整個工作表並將其作爲新工作簿保存到具有自定義文件名的特定目錄中(我試圖從工作表中的單元格中選擇文件名。片,我需要複製有幾個單元格合併太從現有工作表創建新工作簿
Sub CopyItOver()
Dim fname As String
Dim fpath As String
Dim NewBook As Workbook
Dim name as String
fpath = "C:\Users\..\"
fname = "List" & name & ".xlsm"
name = Range("c3").Value
Set NewBook = Workbooks.Add
ActiveWorkbook.Sheets("Generator").Copy Before:=NewBook.Sheets(1)
If Dir(fpath & "\" & fname) <> "" Then
MsgBox "File " & fpath & "\" & fname & " already exists"
Else
NewBook.SaveAs FileName:=fpath & "\" & fname
End If
End Sub
當我運行這個它,給我下標超出範圍的錯誤在這行
ActiveWorkbook.Sheets("Generator").Copy Before:=NewBook.Sheets(1)
在這種情況下,你的挑戰是確定什麼語句的一部分是給你的錯誤。它可以是'Activeworkbook.Sheets(「Generator」)'或者它可以是'NewBook.Sheets(1)'。當程序停止時,選擇調試VBA並在即時窗口中鍵入Debug.Print Activeworkbook.Sheets(「Generator」)。Name和Debug.Print NewBook.Sheets(1).Name'並查看內容你得到。很可能這些行爲中的一個會給你提供錯誤,並告訴你缺少什麼。 – PeterT