• 締切済み

一行おきに新しい行を挿入する

データの一行おきに新しい行を挿入するマクロの書き方をご存知の方がいらっしゃいましたらご教授下さい。 よろしくお願いします。

みんなの回答

  • TON-KATSU
  • ベストアンサー率32% (27/84)
回答No.3

No.2 ham kamoさんの回答に補足です。 基本的には変わらないのですが、 No.2の場合、Excelの限界行まで挿入するため時間がかかるのと、 1列目(A列)が空っぽだと何も起きないので、少し付け加えます。 Sub 空行を1行おきに挿入() Dim LastRow As Long Dim i As Long i = 2 LastRow = ActiveCell.SpecialCells(xlLastCell).Row Do While i < LastRow * 2 Rows(i).Insert Shift:=xlShiftDown i = i + 2 Loop End Sub 「LastRow」はデータの入っている最終行を取得しています。 これで解決となれば幸いです。

bb-bb
質問者

お礼

ご回答ありがとうございます!! 早い方法を探していたので、助かりました!

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

こんな感じでしょうか。 Sub 空行を1行おきに挿入()  Dim i As Integer  i = 2  Do While Cells(i, 1) <> ""   Rows(i).Insert Shift:=xlShiftDown   i = i + 2  Loop End Sub

bb-bb
質問者

お礼

できました!! データ量が少ない際にはこれでも十分ですね! ありがとうございます!

  • TON-KATSU
  • ベストアンサー率32% (27/84)
回答No.1

データ行 空行 データ行 空行 …ってしたいんですよね? 後付(データ書いた後にマクロを走らせる)で良いのでしょうか? それともデータを入力したら、その上に自動的に挿入させたいのでしょうか? 後付ならば、 単純に「偶数行に行を挿入する」という構文を書けば良いのではないでしょうか。 また、根本的な事なのですが Excelの話で良いんでしょうか??

bb-bb
質問者

補足

まずはExcelの話です。 そして後付です。 説明不足ですみません。

関連するQ&A

専門家に質問してみよう