Home » エクセルマクロ・Excel VBAの使い方 » 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を返してくれます。

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

「VBA関数」の記事一覧

検索


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

.