| 
    
     |  | こんにちは。かみちゃん です。 
 > Sheet1のE列から3列飛ばしでBW列まである数字をコピーして、Sheet2に貼り付け
 > る処理を行うことを3から100行までFor文で実行したいのですが、
 > 数字を取得するところでエラーしていまいます。
 
 どの行で、どのようなエラーになるのでしょうか?
 
 あと、直接は関係ありませんが、
 ・変数の宣言
 ・インデントの整理
 は、きちんとされたほうがいいと思います。
 
 上記を整理して、再現できる簡単なコードとして、以下のようなコードを実行する
 とエラーは出ませんでした。
 ☆の行は、暫定として修正追加している行です。
 ★は追加した行です。
 
 なお、
 If Cells(i, 1) <> "" Then '◆
 の行は、変数i が 1 のときは、マクロ開始時のアクティブシートですが、
 変数i が 2以上のときは、Sheet3 のセルがアクティブになっていますが大丈夫
 でしょうか?
 
 Sub データ取得貼付2()
 Dim i As Integer '★
 
 For i = 3 To 100
 MsgBox Cells(1, 1).Address(, , , True) '☆
 Cells(1, 1) = i
 If Cells(i, 1) <> "" Then '◆
 Worksheets("Sheet1").Activate
 Range("E3,I3").Select '☆
 '   Range("E3,I3,M3(省略)・・・・・,BW3").Select
 '       Range("Ei,Ii,Mi(省略)・・・・・,BWi").Select
 Selection.Copy
 Sheets("Sheet3").Select
 Range("G3").Select
 '   ↓xlPasteAll, の後に △_ が 抜けている?(△は半角スペース)
 Selection.PasteSpecial Paste:=xlPasteAll, _
 Operation:=xlNone, SkipBlanks:= _
 False, Transpose:=True
 End If
 Next
 End Sub
 
 
 |  |