これは、範囲A2を最後の行まで1つのブックからコピーし、別のブックに貼り付けるための単純なマクロコードです。私は初心者で、たくさんのページをグーグルで見つけましたが、自己を助けることに失敗しました。コードをデバッグする際 Excelマクロ実行時エラー '9':範囲外の(Forループ内コピー)
`
Result-
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
` below-貼り付けられ、コードが正常で貼り付けA2値をコピーすることがわかっています。ただし、実行時エラー9がスローされます:添字が範囲外です。ワークシート( "Config")。Range( "A" & x).SelectがNext xの後に2回目に実行されているときにエラーが発生します。私は本当にこのエラーを引き起こしているのか分かりません。親切なアドバイス。
あなたは一度だけ実行する必要がある作業を何度もやっているようです。ブックを開くのが好きです。また、1つ1つループするのではなく、フルレンジを貼り付けて貼り付けようとします。 – CallumDA
** Forループ**は、垂直方向に1つのレコードセルを1つ後に貼り付けられるデータを見る必要があるため実装されています。 – Anshu