数値が入力されているセルのみ値をクリアする方法
データ内の数式や文字列は残したまま入力された数値のみ削除したい場合があります。
方法としては、データ範囲を参照するRange【レンジ】オブジェクトのCurrentRegion【カレントリジョン】プロパティでデータ範囲を参照し、特定のセルを参照するRange【レンジ】オブジェクトのSpecialCells【スペシャルセルズ】メソッドを使用して「値が数値のセル」を参照し、参照したセルの値を削除するRange【レンジ】オブジェクトのClearContents【クリアコンテンツ】メソッドを使用して参照した「値が数値のセル」の値を削除します。
SpcialCells【スペシャルセルズ】メソッド
参照したセル範囲の中で引数Type【タイプ】に指定したセルの種類を満たす、すべてのセルを参照するには、Range【レンジ】オブジェクトのSpcialCells【スペシャルセルズ】メソッドを使用します。SpcialCells【スペシャルセルズ】メソッドの設定値はExcelの「ホーム」タブの「編集」グループにある「検索と選択」ボタンの「条件を選択してジャンプ」の「選択オプション」ダイアログと同じ内容です。
SpcialCells【スペシャルセルズ】メソッドの書式の書式と設定値(引数)の説明
[]内は省略可能です。
オブジェクト.SpcialCells(Type[,Value])
- オブジェクト(必須)
参照するセル範囲をRange【レンジ】オブジェクトを指定します。 - Type【タイプ】(必須)
参照するセルの種類をXlCellType列挙型の定数で指定します。XlCellType列挙型 定数 内容 xlCellTypeAllFormatConditions 条件付き書式が設定されているセル xlCellTypeAllValidation 入力規則が設定されているセル xlCellTypeBlanks 空白セル xlCellTypeComments コメントが含まれているセル xlCellTypeConstants 定数が含まれているセル xlCellTypeFormulas 数式が含まれているセル xlCellTypeLastCell 使われたセル範囲内の最後のセル xlCellTypeSameFormatConditions 同じ条件つき書式が設定されているセル xlCellTypeSameValidation 同じ入力規則が設定されているセル xlCellTypeVisible すべての可視セル - Value【バリュー】(省略可)
引数Type【タイプ】にxlCellTypeConstants(定数)またはxlCellTypeFormulas(数式)を指定した場合に、引数Value【バリュー】にXlSpecialCellsValue列挙型の定数を指定して、特定の種類の定数や数式を含むセルだけを参照することができます。省略した場合は、すべての定数および数式が対象になります。XlSpecialCellsValue列挙型 定数 内容 xlNumbers 数値のあるセル xlTextValues テキストのあるセル xlLogical 論理値のあるセル xlErrors エラーのあるセル
ClearContents【クリアコンテンツ】メソッド
指定したセル範囲のセルの値を消去するには、Range【レンジ】オブジェクトのClearContents【クリアコンテンツ】メソッドを使用します。セルの書式や数式は残したまま値のみ消去します。
ClearContents【クリアコンテンツ】メソッドの書式と設定値の説明
オブジェクト.ClearContents
- オブジェクト(必須)
値を消去するセル範囲をRange【レンジ】オブジェクトで指定します。
A1セルから始まるデータ範囲の数値のみクリアするコード例
Sub 数値消去() Range("A1").CurrentRegion.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents End Sub
実行結果
以上で、数値が入力されているセルのみ値をクリアする方法の解説を終了します。
ありがとうございました。