• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL(VBA)で1行おきに行を選択する方法)

EXCEL(VBA)で1行おきに行を選択する方法

このQ&Aのポイント
  • EXCEL(VBA)で1行おきに行を選択する方法を教えてください。
  • EXCELのsheet1にあるリストに、VBAを使用して1行おきに空白行を挿入しました。同じファイルのSheet2の1行目に入力された計算式を挿入した空白行に貼り付けたいです。
  • VBAが苦手なので、EXCELで1行おきに行を選択する方法を教えてください。挿入した空白行にSheet2の1行目の計算式を貼り付ける方法も教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.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

bossa-miya
質問者

お礼

そういうことだったんですね。すみませんでした。 おかげで何とか組めました!ありがとうございます。 また機会がありましたら御教授お願いします。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

処理例を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

bossa-miya
質問者

補足

ありがとうございます。うまくできました! それから、できればもう1つ教えてください。 このマクロだと、一番最後のデータ行の下には式がコピーされないのですが、 何か解決法があるでしょうか?

関連するQ&A

専門家に質問してみよう