• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:行挿入+貼付けと空白行削除を同時に行うには?)

行挿入+貼付けと空白行削除の同時処理方法

このQ&Aのポイント
  • VBA初心者の方がエクセルで行挿入+貼付けと空白行削除を同時に行う方法についての質問です。
  • 現在は各番号ごとに3行挿入して工程をコピーし、行と列を入れ替えて貼付けをする方法を使用しており、その後に空白行をマクロで削除しています。
  • しかし、データ量が多いため、行挿入と空白行削除を同時に行わないとシート最大行数を超える可能性があるため、同時に行う方法を知りたいとのことです。

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

  • ベストアンサー
回答No.2

参考にしてください。 配列に入れて一度に書き出します。 サンプルでは、F列G列へ Sub test() Dim varArray(1 To 65536, 1 To 2) varArray(1, 1) = "no" varArray(1, 2) = "工程" Dim i As Long, r As Long, c As Long i = 2 For r = 2 To Range("A65536").End(xlUp).Row varArray(i, 1) = Cells(r, 1) For c = 2 To 4 If Cells(r, c) <> "" Then varArray(i, 2) = Cells(r, c) i = i + 1 End If Next c Next r Range("F1:G65536") = varArray End Sub

ponysaito
質問者

お礼

ありがとうございます!完璧です。 おかげでうまくいきましたm(_ _)m

その他の回答 (1)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

>データ量が多いため、行挿入と空白行を消す作業を同時に行わないとシート最大行数である 65536行を超えてしまう可能性があります。 同じシートで処理するのではなくて、別シートにコピぺしてやれば 少なくとも空白行を挿入したりのコードは不要になるので 現在のコードをちょこっと修正するだけですむのでは?   以上です。  

ponysaito
質問者

補足

おっしゃるとおりに現在はやっているのですが、 かなりの行をコピペするのがめんどくさいのと ミスが怖いのでできるなら一発でやりたいなと思っています。 まあできなさそうならあきらめるしかないのですが。

関連するQ&A