VBA の Like 演算子を使ってアルファベット文字の位置を調べる
Like 演算子を使ってアルファベット文字の位置を調べるサンプルアプリです。アルファベット以外にも数字が入っている位置、ひらがなが入っている位置、特定の文字が入っている位置などを調べることができます。
Like 演算子を使ったサンプルアプリの説明
「アルファベット文字の位置」 ボタン をクリックすると、アルファベット文字が左からの数えて何番目の位置にあるか算出してくれるサンプルアプリです。
Like 演算子の説明
Like 演算子を使った以下の例で説明すると、「F」 は アルファベット「A-Z」 の範囲に入っている文字なので「True」を返します。
"F" Like “[A-Z]"
文字列のパターンとしては以下のような例があります。
文字 | 文字列パターン |
0~9 | [0-9] |
A~Z(半角) | [A-Z] |
A~Z(半角) | [a-z] |
A~Z,a-z(半角) | [A-z] |
A~Z(全角) | [A-Z] |
a~z(全角) | [a-z] |
A~Z,a~z(全角) | [A-z] |
サンプルアプリのソースコード コードの作成手順はこちら
Sub ボタン1_Click()
'セルの行位置を入れる変数の定義
Dim i As Long
'文字列の位置を入れる変数の定義
Dim j As Long
'シート名を入れる変数の定義
Dim wS As Worksheet
'変数 wS に シート名「Sheet1」をセット
Set wS = Worksheets("Sheet1")
'データ最終行を入れる変数の定義
Dim myLast As Long
'データ最終行を取得
myLast = wS.Cells(Rows.Count, 2).End(xlUp).Row
For i = 5 To myLast
'各セルの文字列についてアルファベットがある位置を求める
For j = 1 To Len(wS.Cells(i, 2))
If (Mid(wS.Cells(i, 2), j, 1) Like "[A-Z]") Or (Mid(wS.Cells(i, 2), j, 1) Like "[a-z]") Then
'「アルファベット文字の位置」欄にアルファベット文字の位置をセット
wS.Cells(i, 3) = j
' アルファベットの文字位置をセットしたら処理を終了し次の文字列へ移動
Exit For
End If
Next j
Next i
End Sub
ディスカッション
コメント一覧
まだ、コメントがありません