2013-07-17 77 views
0

我一直在試圖編寫一個宏以將「Sheet1」從一個工作簿複製到另一個工作簿,但我不斷收到運行時錯誤「9」:下標超出範圍。將工作表複製到另一個工作簿時運行時錯誤'9'

Sub CopySheetToOtherWbk() 

Dim CopyFromBook As Workbook 
Dim CopyToWbk As Workbook 
Dim ShToCopy As Worksheet 

Set CopyFromBook = Workbooks("AllBugs.xlsx") 
Set ShToCopy = CopyFromBook.Worksheets("Sheet1") 
Set CopyToWbk = Workbooks("YourFriendlyNeighborhoodTemplateWorksheet.xlsx") 

ShToCopy.Copy After:=CopyToWbk.Sheets(CopyToWbk.Sheets.Count) 

End Sub 

突出顯示的行是「Set CopyFromBook = Workbooks(」AllBugs.xlsx「)」。不知道我在這裏做錯了什麼。 VBA相對較新。任何幫助表示讚賞。

回答

1

Workbooks集合是指所有當前打開的工作簿。如果工作簿未打開,您需要先執行此操作。

Set CopyFromBook = Workbooks.Open("C:\Some Location\AllBugs.xlsx") 
+0

我試過了,現在我得到一個運行時錯誤'1004'。它說該文件無法找到。我將路徑複製粘貼到文件,併爲文件名執行相同的操作。我不知道這裏出了什麼問題。設置CopyFromBook = Workbooks.Open(「C:\ Users \ my.name \ Desktop \ CopyTest \ AllBugs.xlsx」) 編輯:忘記添加代碼 –

+0

需要一些基本的調試:檢查路徑,文件名和再次EXTN;創建一個使用此Open語句的簡單過程;嘗試使用C:驅動器的示例文件等。確保工作簿尚未打開。 –

+0

現在工作!我錯過了.xlsm而不是.xlsx。愚蠢的錯誤。謝謝您的幫助! –

相關問題