空白行を削除 マクロ講座21-2回

空白行を削除するマクロをボタンにする

前頁(マクロ講座21回)で空白行を削除するマクロを作成したので、コードを確認後、そのマクロをボタンにしましょう。
(サンプルファイルは、こちらから マクロ講座21回サンプルデータ

前ページで作成した「データのない不要な行を削除するマクロ」のコードを見てみましょう。

空白行を削除するマクロ~ EntireRow Delete

さあ、コードを見てみましょう。実際に操作する手間と比べたら、驚くほどシンプルですね。
コードは、このようになっています。Sub~End Subを除くと、たった2行です。マクロの名前を空白行削除に変更しました。
Sub 空白行削除()
    Selection.SpecialCells(xlCellTypeBlanks).Select ' 空白セルを選択
    Selection.EntireRow.Delete ' 行全体を削除
End Sub
    
その範囲を含む「行全体」を選択したので、EntireRowプロパティが使われています。 もし、範囲を含む列全体であれば、EntireColumnプロパティが使われます。

マクロをボタンに設定する

せっかく作ったマクロを利用しやすくするために、マクロのボタンを作成しましょう。
メニューの表示から、ツールバーを選択、 フォームをクリックします。
ファームツールバーが表示されたら、ボタンをクリックし、
適当な位置を定め、任意のサイズに マウスをドラッグします。
マウスをとめると、ボタンが作成されます。
続いて、マクロの登録ダイアログが現われますから、先ほど作ったマクロ、
「空白行削除」を選択して、OKをクリックします。以上でボタン1が作成され、空白行を削除するマクロが登録されました。

マクロボタンの位置の固定

できあがったボタンが行の削除や挿入で移動したりしないようにしましょう。ボタンにカーソルを合わせて、選択状態にして、右クリックします。コントロールの書式設定をクリック。
コントロールの書式設定ダイアログが表示されたら、プロパティタブをクリックし、オブジェクトの位置関係の 「セルに合わせて移動やサイズを変更しない(D)」にチェックを入れてOKをクリックします。
ここでボタン1という名前を変更して、空白行削除にしました。
空白行削除ボタンをクリックすると、マクロが実行され空白行が削除されました。
スポンサーリンク
スポンサーリンク