Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAで文字列かどうかを判定する-VarType関数

VBAで文字列かどうかを判定する-VarType関数

対象:Excel2007, Excel2010, Excel2013

「vba if 文字列 判定」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスが時折あることに気づきました。

VBA(Visual Basic for Applications)で、データが文字列かどうかの判定を行う方法を探している方による検索でしょうか。

[スポンサードリンク]

文字列かを判定するサンプルマクロ

参考になりそうな、サンプルマクロをご紹介しておきます。

以下のマクロを実行すると、アクティブセルが文字列だったときに「文字列です。」、文字列でなければ、「文字列ではありません。」というメッセージが表示されます。

Sub アクティブセルが文字列かどうかを判定する()
 If VarType(ActiveCell.Value) = vbString Then
  MsgBox "文字列です。"
 Else
  MsgBox "文字列ではありません。"
 End If
End Sub

VarType関数を使って、アクティブの値が文字列かどうかを判定している、
 If VarType(ActiveCell.Value) = vbString Then
簡単なマクロです。

VarType関数とは

VarType関数は、引数に指定されたデータの型を、VbVarType列挙で定義された定数で返してくる関数です。

VBAで文字列かどうかを判定する

VbVarType列挙には下図のような定数が定義されていて、

VBAで文字列かどうかを判定する

VarType関数は、文字列だったときにvbString(実際の値は8)を返してきます。

VarType関数による判定時の特徴

VarType関数は、データの型をしっかり調べてくれます。

文字列として入力された数字は、数値ではなく、文字列と判定してくれます。

例えば、「'123」のように「'」(シングルクォート)を入力してから数字を入力した場合は、vbStringを返すということです。

[セルの書式設定]ダイアログ-[表示形式]タブの[分類]欄で「文字列」を指定して、「123」のような数字を入力したときもvbStringを返してくれます。

最終更新日時:2020-06-09 18:06

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAで文字列かどうかを判定する-VarType関数

「条件分岐」の記事一覧

検索


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

.