Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » セルの値のみをクリアするExcelマクロ

セルの値のみをクリアするExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

「excel 値のクリア マクロ」
「数式を残して値だけをクリア マクロ」
「エクセル 計算 セル 値クリア マクロ」
といった検索で、アクセスがあります。

Excelで、値だけ・値のみをクリアするマクロを探している方による検索です。

プログラミングはできるけれど、Excelのジャンプ機能を知らない方の場合、ループを回しながらセルを一つずつ調べて、数式でなく値ならば削除するという、遅いマクロを作ってしまう可能性が高そうに思えます。

[スポンサードリンク]

セルの値のみをクリアするマクロ

以下のような単純なマクロで、セルの値だけを削除することができます。

Sub アクティブシートの値のみをクリアする()
On Error GoTo ErrHandl

 Cells.SpecialCells(xlCellTypeConstants).ClearContents

Exit Sub
ErrHandl:
 MsgBox "値の入力されているセルが存在しません。"
End Sub

Rangeオブジェクトが持つSpecialCellsメソッドを使うと、引数に指定した条件に合致するRangeオブジェクトを取得することができます。

上記のように、定数xlCellTypeConstantsを指定すれば、値の入力されているRangeオブジェクトが取得できます。

その取得できたRangeオブジェクトに対して、数式やデータを削除するClearContensメソッドを実行しています。

値の入力されているセルが存在していなときにエラーとなるので、
  On Error GoTo ErrHandl

その場合メッセージを表示するようにしています。
   MsgBox "値の入力されているセルが存在しません。"

ここではアクティブシート全体に対して処理するサンプルマクロをご紹介していますが、セル範囲を限定して、例えば、B2:G7セルの値だけをクリアする場合は、
  Range("B2:G7").SpecialCells(xlCellTypeConstants).ClearContents

といったコードにしてください。

最終更新日時:2024-02-29 09:26

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » セルの値のみをクリアするExcelマクロ

「SpecialCellsメソッド」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.