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日間、頑張ります。