26日目 地味に面倒な飛び地の消去【30日間1日1本マクロ生活】

30日間1日1本マクロ生活、26日目です。

マクロを書く準備は、0日目に記事を書きました。

飛び地

Excelでは、連続したセルや長方形の範囲を選択して、その中に含まれるデータを一度に消去することは簡単にできます。

でも、長方形の範囲を選択したときに、ある特定の部分のは消したくないデータが含まれていたり、そもそも長方形の形で範囲選択ができないような部分にあるデータを、ちまちまと消していくのは地味に面倒です。

例えばこんな感じ。連番、氏名、フリガナの隣にカウント数が入っているのですが、最初にテーブルを作った人が下手くそなせいで、11番以降のデータが右側に来ちゃってます。

カウント数だけを消したいときに、長方形の範囲で選択できません。

こんな感じで、飛び地で選択しなきゃならなくなってます。

今回のように飛び地が二つだけなら大したことはありません。

でも、これが10ヶ所とか20ヵ所とかに分散していたら、もうやっていられません。

こんな時に、マクロが活躍します。

とりあえずコードを


Sub 飛び地消去()
    Range(Cells(2, 4), Cells(11, 4)).ClearContents
    Range(Cells(2, 9), Cells(11, 9)).ClearContents
End Sub

短いですね。本文はたったの2行です。

長方形の範囲を選択し、ClearContents。消去です。

飛び地で選択しているのではなく、長方形を選択して消去、を繰り返しているだけです。

10ヶ所、20ヶ所に及ぶ場合、うまくループで処理し、繰り返して選択→消去をやっていけば、手作業でちまちま消していくよりは楽ですよ。

実行結果

マクロを記述するウィンドウの「Sub」と「End Sub」の間にカーソルを置いて、画面上方の再生ボタン的なアイコン(右向きの三角形)をクリックするか、[F5]キーを押して実行します。

はい、こうやって消えました。

Excelは便利

悔しいですが、Excelは便利です。

Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。

マクロを書くようになると、Excelからは離れられないですね。

30日間、頑張ります。