0
シート間で前後に切り替え、入力を1枚のシートに入れて別のシートに貼り付けるコードを記述しようとしています。これがコードです。私は.Activateの部分を取得するとき。VBAでのシート間のアクティブ化とトグル
For r = 1 To ActiveCell.End(xlDown).Row
Cells(1, c).Select
Do Until IsEmpty(Selection)
name = ActiveCell.End(xlToLeft).Value
email = ActiveCell.End(xlToLeft).Offset(0, 1).Value
phoneNumber = ActiveCell.End(xlToLeft).Offset(0, 2).Value
generation = ActiveCell.End(xlToLeft).Offset(0, 3).Value
status = ActiveCell.End(xlToLeft).Offset(0, 13).Value
ActiveCell.Offset(1, 0).Select
Sheets("Compiled Data").Select
'paste data
Cells(oRow, c) = name
Cells(oRow, c + 1) = email
Cells(oRow, c + 2) = phoneNumber
Cells(oRow, c + 3) = generation
Cells(oRow, c + 4) = status
oRow = oRow + 1
r = r + 1
Sheets("Sheet 1").Activate
Loop
Next
問題があり、Excelが添字が範囲外であることを読み取ります。
どうすればよいですか?
(http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)[できるだけ早くこれを読む] – BruceWayne
あなたは、元のExcelシートを使用と仮定は、名前はSheets( "Sheet1")でなければなりません。Not Sheet( "Sheet 1")をアクティブにします。 –