- 締切済み
一行おきに新しい行を挿入する
データの一行おきに新しい行を挿入するマクロの書き方をご存知の方がいらっしゃいましたらご教授下さい。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- TON-KATSU
- ベストアンサー率32% (27/84)
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」はデータの入っている最終行を取得しています。 これで解決となれば幸いです。
- ham_kamo
- ベストアンサー率55% (659/1197)
こんな感じでしょうか。 Sub 空行を1行おきに挿入() Dim i As Integer i = 2 Do While Cells(i, 1) <> "" Rows(i).Insert Shift:=xlShiftDown i = i + 2 Loop End Sub
お礼
できました!! データ量が少ない際にはこれでも十分ですね! ありがとうございます!
- TON-KATSU
- ベストアンサー率32% (27/84)
データ行 空行 データ行 空行 …ってしたいんですよね? 後付(データ書いた後にマクロを走らせる)で良いのでしょうか? それともデータを入力したら、その上に自動的に挿入させたいのでしょうか? 後付ならば、 単純に「偶数行に行を挿入する」という構文を書けば良いのではないでしょうか。 また、根本的な事なのですが Excelの話で良いんでしょうか??
補足
まずはExcelの話です。 そして後付です。 説明不足ですみません。
お礼
ご回答ありがとうございます!! 早い方法を探していたので、助かりました!