這是一個簡單的宏代碼,用於複製範圍A2,直到從一個工作簿中刪除最後一行並將其粘貼到另一個工作簿中。我是一個新手,並搜索了很多頁面,但未能幫助自己。該代碼粘貼如下─Excel宏運行時錯誤'9':下標超出範圍(在For循環內複製)
`
Sub TC_Creation_Sample()
Dim aPath As String, aFile As String, bFile As String
Dim FinalRow As Integer, x As Integer
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
aPath = "C:\temp\"
aFile = aPath & "Config"
bFile = aPath & "TC_Template"
Workbooks.Open (aFile)
Sheets("Config").Activate
'FinalRow = Cells(Rows.Count, "A").End(xlUp).Row
FinalRow = Worksheets("Config").Range("A2").End(xlDown)
For x = 2 To FinalRow
Worksheets("Config").Range("A" & x).Select
Selection.Copy
Workbooks.Open (bFile)
Worksheets("TestCases").Range("A" & x).Select
ActiveSheet.Paste
Next x
End Sub
`
Result-調試後,它的發現該代碼是成功複製粘貼A2值。但是,它引發運行時錯誤9:下標超出範圍。當工作表(「配置」)。範圍(「A」& x).Select第二次在Next x後運行時發生錯誤。我不確定是什麼導致了這個錯誤。好心提醒。
它看起來像你正在執行多次任務,應該只執行一次......就像打開工作簿。並且 - 嘗試全範圍並粘貼它,而不是一個接一個的循環。 – CallumDA
** For循環**的實現是因爲需要查看數據在垂直列中逐個粘貼一個記錄單元。 – Anshu