目次

目的

  • セルの文字、数式のみを削除したい。
  • 書式は削除したくない。
  • セルで「Delete」キーを押すのと同じ事をやりたい。
  • 削除範囲を指定したい。
  • ClearContents を使用する。

テストしてみました。

目次まで戻る

題材

題材として、下記のようなワークシートを準備してみました。

今回は、「B1:B2」の「1 , 2」の数字、「B3」の数式を削除してみます。

文字、数式が入力されている。
文字、数式が入力されている。

目次まで戻る

マクロの一例

下記マクロを作成してみました。

Range プロパティで対象範囲を指定して、ClearContents メソッドで文字、数式を削除してみます。

Sub 文字数式を削除するマクロ()
Range("B1:B3").ClearContents
End Sub

上記マクロを実行してみると、下記画像の結果になりました。

数式の入力欄に削除する前の数式が残っていますが、一旦、別のセルを選択して、再度、「B3」セルを選択すると数式が消えていると思います。

数式の入力欄に数式が残っている。
数式の入力欄に数式が残っている。
「B3」を再選択すると、数式が消えている。
「B3」を再選択すると、数式が消えている。

目次まで戻る

Cells

上記では、 Range プロパティで対象範囲の指定を行いましたが、マクロの中で、動的に対象範囲を指定したい場合は、 Cells プロパティも便利かもしれません。

Cells プロパティは、行番号、列番号で範囲指定が可能なプロパティのようです。

Cells プロパティを使用した、下記マクロを作成してみました。

Sub Cells使用_文字数式を削除するマクロ()
'Range(Cells(行, 列), Cells(行, 列)) の書式
Range(Cells(1, 2), Cells(3, 2)).ClearContents
End Sub

上記マクロを実行すると、以下の結果になりました。

Range プロパティで対象範囲を指定をした時と、同じ結果になっています。

Range プロパティの時と同じ結果になっている。
Range プロパティの時と同じ結果になっている。

テスト環境

  • Windows 10(64 ビット)
  • Microsoft Office Excel 2003

以上、閲覧ありがとうございました。

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿