【VBA道場】#26 文字列の中を抜き出す
問題
A1セルに入力されているデータの3文字目から2文字分取り出してください。
例.12345678→34
完成見本
解答
Sub vba_doujyou_24()
'A1セルの3文字から2文字を抜き出して、メッセージボックスで表示
MsgBox Mid(Range("A1"), 3, 2)
End Sub
サンプルファイル(マクロ無)
マクロなしのファイルはこちらからご利用いただけます。
VBA道場26 サンプルファイル(マクロ無)
1 ファイル 7.76 KB
サンプルファイル(マクロ有)
今回のマクロはこちらからダウンロードしてご使用いただけます。
VBA道場26 サンプルファイル(マクロ有)
1 ファイル 11.15 KB
解説
Mid(元の文字列,開始位置,切り出す文字数):任意の場所から文字を切り出す
今回はMid関数を使って、任意の場所から文字を切り出しました。
Midの後ろに、元の文字列、開始位置、切り出す文字数を指定します。
Mid(Range("A1"), 3, 2)
今回の場合だと、「123456789」の3番目(3)から2文字(34)を切り出しています。
メッセージボックスの使い方に関してはこちらを参照してください。
では、Mid関数は他にどんなところに使えるのでしょうか?
下記のようなデータを例に考えてみましょう。
A列には年月日が入っています。
ここから月だけを切り抜きたいときにMid関数が使えます。
コードを見てみましょう。
Sub sample24()
Dim i As Long
'2行目から28行目まで繰り返す
For i = 2 To 28
'A列の5文字目から2文字分を抜き出してB列に記入
Cells(i, 2) = Mid(Cells(i, 1), 5, 2)
Next i
End Sub
今回の場合は、元データ(20210401)の5文字目(0)から2文字分(04)を抜き出しました。
行が複数あったので、For文を使って繰り返し処理をしています。
おわにり
今回はMid関数を使って、任意の場所から文字列を抜き出しました。
Mid関数を使えるようになるとデータの活用効率が非常に上がります。
是非マスターしてみてください!
本日はここまで!
おすすめ参考書
Amazon
たった1秒で仕事が片付くExcel自動化の教科書
いちばんやさしいExcelVBAの教本
ExcelVBA逆引き辞典 パーフェクト
楽天
いちばんやさしいExcelVBA
|
すらすら読めるExcelVBA
|
VBA逆引き大辞典
|