文字列の途中から指定文字数を取り出す
Midの開始位置と文字数を指定して、文字列の途中を取り出します。
実行前に確認
- 開始位置は1以上です。0は指定できません。
- 指定した文字数が残りの長さより多い場合は末尾まで返ります。開始位置が文字列の長さを超えると空文字列になります。
- Excel実機での動作は未確認です。コピーした練習用ブックで試してください。
1サンプルコード
Option Explicit
Sub Example7062()
Dim text As String
Dim result As String
text = "ABC-12345"
result = Mid$(text, 5, 3)
MsgBox result, vbInformation, "5文字目から3文字"
End Sub図で見る5文字目から123を取り出す
イメージ図1から数えた位置5を開始点として、3文字を切り出します。
元の商品コード
text = "ABC-12345"。5文字目は「1」
Mid$で位置と長さを指定
Mid$(text, 5, 3)で位置5~7を取得
123を表示
resultに「123」が入り、MsgBoxに表示
開始位置は1以上です。配列の添字0とは数え方が異なります。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsm形式で保存します。Alt+F11でVBEを開き、[挿入]→[標準モジュール]で作った空のモジュールに、Option Explicitから末尾まで、この例だけを貼り付けます。
- 2
セルは使いません。ABC-の4文字の後にある数字を取り出します。
- 3
Example7062のSub内にカーソルを置き、F5キーで実行します。
- 4
5文字目の1から3文字を取り出した「123」が表示されます。