数字と文字を組み合わせた文字列変数がいくつかあります。このような:
A12452
BCD23
ESK56003
vbscript を使用して、これらの文字列から数字ではなく文字を取得したいと考えています。したがって、次の結果が得られるはずです。
あ
BCD
ESK
注:現在VB6を使用しています。
VBA:
Dim i As Long
Dim k As Long
k = Len (MyString)
i = 1
Do Until (i > k) Or (IsNumeric (Mid$ (MyString, i, 1)))
i = i + 1
Loop
Result = Left$ (MyString, i - 1)
Or
編集: VBA ではショート サーキットではないため、このコードにバグがある可能性があることに気付きました(つまりOr
、最初の式が true であっても、次の式が評価されます)。おそらくループを書く正しい方法は
Do
If i > k Then Exit Do
If IsNumeric (Mid$ (MyString, i, 1)) Then Exit Do
i = i + 1
Loop