mugaxのなんでも情報局

いろんな分野について発信していきます。

VBAでN桁の数字か簡単に判別する方法

商品のコード番号のようなものは桁数が決まっていることがほとんどだ。だから、ユーザーが入力したときに、全て数字であり、かつ、正しい桁数か自動的にチェックする機能はつけるべきだ。

このときにやりがちなのが、Len()とIsNumeric()で判別する方法だ。

しかし、もっと簡単な方法がある。Like演算子を使うのだ。

例として、7桁の数字か判別するコードを書いておこう。


'7桁の数字か判別する
Function Is7digit(tgt As Variant) As Boolean

    'Like演算子を使う(#は数字を表すので"#######"で7桁の数字)
    If tgt Like "#######" Then
        Is7digit = True
    Else
        Is7digit = False
    End If

End Function

Like演算子は非常に便利な機能だ。コードが劇的に短くわかりやすくなる。つまり、バグの入る余地が減るということだ。いろいろな種類があるので、是非とも勉強しておこう!