見出し行を除いたセル範囲の値だけクリアするには?

Question 56.4 Previous Next
見出し行以外のアクティブ領域を選択するマクロですが、見出し行が1行の時もあれば、3行の時もあります、そこで、選択しているセルを基点として右下のアクティブ領域を選択するには、どのようにあなたのマクロを改造すればいいのでしょうか?教えてください。
また、選択された領域の中の値セルだけを消去したり、逆に、数式のみを消去したいとかすることがよくあります。同じ形式の表を何度も使い回したいと思っていますので。データの量が半端でなくて、3000行、列数も15列とかになることも多いので、上記のようなことを一発でやりたいと考えております。よろしくお願いいたします。
Answer   Copyright (C) 2002.11.14 永井善王
ご質問の前半は、 [Macro]-[範囲選択・基本型]のページに掲載している下記のマクロについてのお尋ねですね。
Sub 見出し行以外のアクティブセル領域を選択する()
    Range("A1").Select                          '※9
    Set 領域 = ActiveCell.CurrentRegion         'アクティブセル領域を取得して参照する
    領域.Offset(1, 0).Resize(領域.Rows.Count - 1, _
        領域.Columns.Count).Select         '指定領域のサイズを変更して取得する ※10、11
End Sub

<コメント>
※9 A1にはリスト内のセルを指定する
※10 Offset(1,0)の 1には見出し行の行数を指定する
※11 Rows.Count-1の 1は上記の行数と一致する
<「見出し行が3行の時の改造方法?」としては、<コメント>※10と11が該当するように思います。

後半については、[Macro]-[クリア・基本型]のページに[
選択されたセル範囲の内容をクリア]として掲載しておきました。そちらで、ご覧ください。
以上の2つのコードを組み合わせて使えば、「上記のようなことを一発でやりたい」というご希望が実現するかと思います。

 

Excel VBA Macro