Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » Excel VBAのxlTextValuesとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2207 ビルド15427.20210 Microsoft Store)

「エクセル マクロ xlTextValues」
といった検索キーワードで、時折アクセスがあります。

Dim rng As Range
Set rng = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)

あるいは、

Set rng = Cells.SpecialCells(xlCellTypeFormulas, xlTextValues)

といったコードを見かけた方による検索でしょう。

[スポンサードリンク]

Excelのデータは4種類

そもそもExcelでは、データは4つに分類されています。

  • 数値
  • 文字列
  • 論理値
  • エラー値

の4種類です。

[選択オプション]ダイアログボックスの[定数]または[数式]を選択すると、[数値][文字][論理値][エラー値]チェックボックスを使って、

種類を指定してセルを選択できます。

これと同じようなの操作をVBAから行う際に利用するのが、XlSpecialCellsValue列挙型に定義されている定数です。

文字列セルだけを選択するサンプルマクロ

文字列の入力されているセルが存在するワークシートがアクティブな状態で以下のExcelマクロを実行すると、文字列の入力されているセルだけが選択されます。

Sub 文字列のセルを選択する()
On Error GoTo ErrHandl

 Cells.SpecialCells(xlCellTypeConstants, xlTextValues).Select

Exit Sub
ErrHandl:
 MsgBox "文字列の入力されているセルは存在しないようです。"
 Err.Clear
End Sub

[選択オプション]ダイアログボックスで、[定数]オプションを選択して[文字]チェックボックスだけをOnにした状態で

[OK]ボタンをクリックすると、文字列データが直接入力されているセルだけを選択できます。

これと同様の処理を行うのが、上記のマクロです。

サンプルマクロで行っている処理

RangeオブジェクトのSpecialCellsメソッドの、

第1引数に「定数」を意味する定数xlCellTypeConstantsを、

第2引数に「文字列」を意味する定数xlTextValuesを

それぞれ指定しています。

Cells.SpecialCells(xlCellTypeConstants, xlTextValues).Select

Cells.SpecialCells(xlCellTypeFormula, xlTextValues).Select

にすれば、戻り値が文字列の式が入力されているセルだけが選択されます。

また、

Cells.SpecialCells(xlCellTypeConstants, xlNumbers).Select

とすれば、数値の入力されているセルだけが選択されます。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » Excel VBAのxlTextValuesとは

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

検索


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

.