LoginSignup
0
0

More than 5 years have passed since last update.

VBA : 文字列が特定の文字だけからなるかを判定

Last updated at Posted at 2019-01-09

フォームの入力内容チェック(いわゆるバリデーション)などで、値が特定の文字種(たとえば半角数字と半角コンマ)だけからなるかどうかを判定したい場合があります。

VBAでは正規表現を使うことも可能ですが、参照設定などがやや面倒です。Instr 関数を文字種の数だけループしてもいいのですが、ここでは Like 演算子だけで判定する関数を作ってみました。

ConsistsOnlyOf.bas
Function ConsistsOnlyOf(str As String, chars As String) As Boolean

    ConsistsOnlyOf = Not str Like "*[!" & chars & "]*"

End Function

str には判定対象の文字列、chars には含まれる文字を列記します。0123456789 のかわりに 0-9 のような形が使えます。たとえば半角数字と半角コンマのみであれば 0-9, とします。

Example_ConsistsOnlyOf.bas

ConsistsOnlyOf("1,2,3", "0-9,")    'True
ConsistsOnlyOf("1,2,3", "0-9,")   'False

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0