Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : その他)
D2:E50 のセル範囲において、行が空白の場合、上に詰めて削除していく
投稿日時: 22/06/21 09:59:14
投稿者: naomaru999

行いたいことの例は、
 
D列とE列には、
両列とも数値が入っている場合と、両列とも数値が入っていない場合のみとなります。
 
D2:E50 のセル範囲のいて、行が空白の場合、上に詰めて削除していくだけのプログラムを組みたいです。
 
Q&Aで見当たらなく、こちらに投稿させて頂きました。
 
どうぞよろしくお願いいたします。
 
なお、EXELLは2004バージョンを使用しております。
 
 

回答
投稿日時: 22/06/21 10:19:09
投稿者: hatena
投稿者のウェブサイトに移動

「エクセル VBA 空白行削除」でWEB検索すればサンプルコードがいくらでも見つかります。
 
それらを参考にまずはコードを作成してみてください。

回答
投稿日時: 22/06/21 11:05:32
投稿者: WinArrow
投稿者のウェブサイトに移動

ヒント
  
行の挿入/削除
を実行する場合は、
上から検索するのではなく、
下から検索します。
 
セル範囲:C2:E50
とキメウチで考えると、作成したマクロは1回のみ実行となります。
次回、実行する時には、セル範囲を変更する必要があります。
1回だけの処理ならば、コードでにゃんでいる間に、手作業で対応できますよね・・・
 
複数実行する可能性があるならば、セル範囲を汎用化する検討しましょう。
 
With Range("D2:E50")
    For Rx = .Ros.COunt To 2 Step -1
        If 空白セル Then
          削除
        End If
    Nexr
End With
 
マクロの記録で、
挿入/削除
を実行すれば、コードが作成できます。
若干のカスタマイズは必要ですが、
頑張ってみましょう。

投稿日時: 22/06/21 11:25:48
投稿者: naomaru999

はい、ありがとうございました。
参考にさせていただき、自力でやってみたいと思います。