- ベストアンサー
EXCEL(VBA)で1行おきに行を選択する方法
- EXCEL(VBA)で1行おきに行を選択する方法を教えてください。
- EXCELのsheet1にあるリストに、VBAを使用して1行おきに空白行を挿入しました。同じファイルのSheet2の1行目に入力された計算式を挿入した空白行に貼り付けたいです。
- VBAが苦手なので、EXCELで1行おきに行を選択する方法を教えてください。挿入した空白行にSheet2の1行目の計算式を貼り付ける方法も教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>このマクロだと、一番最後のデータ行の下には式がコピーされないのですが、 >何か解決法があるでしょうか? 質問からはこのことが不明で、 『行を挿入したシートの最終行の下にも算式が必要な場合は、 Range("A65536").End(xlUp).Row + 1 とします。 』 と書いたんですが、ちゃんと全部書くと、下のようになります。 (例1) For rw = Range("A65536").End(xlUp).Row + 1 To 2 Step -2 Sheets("Sheet2").Rows("1:1").Copy Destination:=Rows(rw) Next (例2) Sheets("Sheet2").Rows("1:1").Copy For rw = Range("A65536").End(xlUp).Row + 1 To 2 Step -2 Rows(rw).Select: ActiveSheet.Paste Next
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
処理例を2つ書いてみました。 Sheet2の1行目の算式の内容は分からないので、行をコピーしてそのまま貼り付けています。 行を挿入したシートの最終行の下にも算式が必要な場合は、 Range("A65536").End(xlUp).Row + 1 とします。 (例1) For rw = Range("A65536").End(xlUp).Row - 1 To 2 Step -2 Sheets("Sheet2").Rows("1:1").Copy Destination:=Rows(rw) Next (例2) Sheets("Sheet2").Rows("1:1").Copy For rw = Range("A65536").End(xlUp).Row - 1 To 2 Step -2 Rows(rw).Select: ActiveSheet.Paste Next
補足
ありがとうございます。うまくできました! それから、できればもう1つ教えてください。 このマクロだと、一番最後のデータ行の下には式がコピーされないのですが、 何か解決法があるでしょうか?
お礼
そういうことだったんですね。すみませんでした。 おかげで何とか組めました!ありがとうございます。 また機会がありましたら御教授お願いします。