【VBA道場】#26 文字列の中を抜き出す

ExcelVBA

【VBA道場】#26 文字列の中を抜き出す



問題

A1セルに入力されているデータの3文字目から2文字分取り出してください。

例.12345678→34

 

完成見本

解答

Sub vba_doujyou_24()

'A1セルの3文字から2文字を抜き出して、メッセージボックスで表示

MsgBox Mid(Range("A1"), 3, 2)

End Sub

サンプルファイル(マクロ無)

マクロなしのファイルはこちらからご利用いただけます。

 

サンプルファイル(マクロ有)

今回のマクロはこちらからダウンロードしてご使用いただけます。

 

解説

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

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

スラスラ読めるExcel VBAふりがなプログラミング [ リブロワークス ]
価格:2035円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

 

VBA逆引き大辞典

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Excel VBA逆引き辞典パーフェクト第3版 [ 田中亨 ]
価格:2838円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

タイトルとURLをコピーしました