- 締切済み
vba
VBAはじめたばかりで、躓きました。 下記を実行すると、”Nextに対するForがありません。”とでます。 なぜこうなるのか教えてください。 G2~列2000の間が空白になるまで、 下記の処理を続けるようにしたいと思っています。 Dim i As Integer For i = 7 To 2000 Do If Cells(2, i) = "" Then Range("G2").End(xlToRight).Select ActiveCell.CurrentRegion.Resize(6, 5).Select Selection.Cut Range("B2").End(xlDown).Select ActiveCell.Offset(1).Select ActiveSheet.Paste Exit Do End If Next i Loop よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
”Nextに対するForがありません。”とでます。 なぜこうなるのか教えてください。 に対する回答は出ていますが、 G2~列2000の間が空白になるまで、 下記の処理を続けるようにしたいと思っています。 は大丈夫? For と Doの二重のループも必要? For i = 7 To 2000 Step 5 If Cells(2, i) = "" Then Exit For Cells(2, i).Select ActiveCell.CurrentRegion.Resize(6, 5).Select Selection.Cut Range("B2").End(xlDown).Select ActiveCell.Offset(1).Select ActiveSheet.Paste Next i Cells(2, i).Select ActiveCell.CurrentRegion.Resize(6, 5).Select Selection.Cut も Cells(2, i).CurrentRegion.Resize(6, 5).Cut と1行にまとめたりも出来ます。
お礼
ありがとうございます