2022年4月17日【ID:0】
【5】要望ボックス
指定した列の中に空白がある場合、
その行を自動で削除したいのですが、
VBAでどのように実現しますか?
【回答】
削除する方法はいろいろありますが、その中の1つを紹介します。
・「条件を選択してジャンプ」の機能を活用する
「ホーム」内にある「検索と選択」→「条件を選択してジャンプ」を使うと空白セルをまとめて選択することができます。
使い方のイメージは次の画像です。
これをVBAで再現すると、SpecialCells(xlCellTypeBlanks)になります。
後は、これによって選択された範囲をEntireRowで行選択をして行全体を削除するだけです。
※この時、空白セルが1つも見つからない場合、エラーになります。
そのため、IsNullを用いてデータが格納されていることをチェックしています。
上記の参考ファイルはこちら▼
他の方法として対象範囲を上からループさせ空白なら削除するというように実現することもできますが、行を削除した場合は繰り返している数がずれるので、少し複雑になります。
また、今回紹介した方法は完全に削除しています。
削除ではなく、非表示にしたいという場合は、以下の内容が参考になるかと思います。