すぐに役立つ3行マクロ講座 31回

3行マクロ 書式も含めて表を削除するマクロ

表を削除したい時に、表を選択して「Delete」キーを押すと文字や数字などが削除されますが、数式や値、表示形式や書式などは残されたままになります。セルの内容を削除しても色や線を削除できないので、メニューの編集からクリアを選択しなければなりません。
今回は、簡単に指定した表を削除するマクロを紹介します。
(サンプルファイルは、こちらから 3行マクロ31回サンプルデータ

表を削除する前に表の選択を簡単にする

今回使うのは、 CurrentRegionプロパティです。
CurrentRegionプロパティは空白のセルで囲まれた範囲を読み取り、参照します。
CurrentRegionプロパティ
指定したセルを含む、表全体を参照します。 このとき選択されるセル範囲を「アクティブセル領域」といいます。
書式 オブジェクト.CurrentRegion
オブジェクトにはRangeオブジェクトを指定します。
以下の表のA3セルのあるアクティブセル領域を選択するには、
Sub 表の選択()
    Range("A3").CurrentRegion.Select
End Sub
書式も含めて表を削除するマクロ1
コードを実行すると、A3セルのあるアクティブセル領域が選択されます。
書式も含めて表を削除するマクロ2

指定したセルのある表全体を簡単に削除するには、

表のどこでもいいので、どれかセルを指定してやればCurrentRegionプロパティが表全体を選択してくれるので、あとは内容を削除するだけです。
値・数式・書式・コメントのすべてを削除する時は、Clearメソッドを使います。
サンプルの表を削除するコードは次のように記述します。
Sub 表の削除()
    Range("A3").CurrentRegion.Clear
End Sub
書式も含めて表を削除するマクロ3
コードを実行すると
A3セルのある表領域が書式を含めて削除されます。
書式も含めて表を削除するマクロ4
表の値と数式をクリアしたい時は、
Sub 表の削除2()
    Range("A3").CurrentRegion.ClearContents
End Sub
表の書式のみクリアしたい時は、
Sub 表の削除3()
    Range("A3").CurrentRegion.ClearFormats
End Sub
表のコメントのみクリアしたい時は、
Sub 表の削除4()
    Range("A3").CurrentRegion.ClearComments
End Sub
のように、使うことができます。

Selectionで汎用的に書式も含めて表を削除するマクロ

Selectionを使うと、コードを書き換えずに、汎用的にサンプルの表を削除するマクロが使えます。コードは次のように記述します。
Sub 表の削除汎用()
    Selection.CurrentRegion.Select
    Selection.Clear
End Sub

今日の講義は以上です。お疲れ様でした。

スポンサーリンク
スポンサーリンク
おすすめコンテンツ