文字列操作

指定文字列の位置を調べる

 ある文字列の中で、指定した文字列が有るか無いか、あるとしたら何番目に有るのか、こうしたことが必要になる場合があります。

そのような場合に使う関数があります。

InStr(検索開始位置, 対象となる文字列, 検索文字列, 比較モード)

 このInStr関数は、対象となる文字列から検索文字列が有るか無いかを検索し、最初に見つかった検索文字列が検索開始位置(1 とした場合は先頭)から何番目に有るかを数値で返す関数です。

次のようなメールアドレス一覧があります。

@より前がユーザーIDになります。

このメールアドレス一覧からそれぞれのユーザーIDを取り出してみます。

Sub UserID取出し()
 Dim I as Integer
 Dim P as Integer

 I = 3
 Do While Cells(I, “B”) <> “” ‘①
  P = InStr(1, Cells(I, “B”), “@”) ‘②
  Cells(I, “C”) = Left(Cells(I, “B”), P – 1) ‘③
  I = I + 1 ‘④
 Loop
End Sub

①メールアドレスが空欄になるまで以下の作業をします。

②メールアドレスにある@マークが先頭から何番目のあるか調べP
に代入

③メールアドレスの先頭からP-1文字をC列に表示

④次のメールアドレスに移動

なおここでは「比較モード」を省略しています。

省略した場合は規定値のバイナリーモードで比較されていることになりますが、バイナリーモード、テキストモードといったものについては、次のステージの勉強で大丈夫です。

今は省略して進めてください。

文字列の空白削除と文字列置換  求められた計算結果を、ユーザーにわかりやすい形の加工して表示するための一つとして文字列の空白削除、つまり余分なスペースを取り除く仕組...
文字列の数字変換と表示形式変換  指定した文字列の中で数字を数値として変換するのに「Val関数」を使います。 また文字列を指定した表示形式に変換するには「Fir...