← コード一覧へ戻る
基本文字・日付

文字列の途中から指定文字数を取り出す

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文字を切り出します。

  1. 元の商品コード

    text = "ABC-12345"。5文字目は「1」

  2. Mid$で位置と長さを指定

    Mid$(text, 5, 3)で位置5~7を取得

  3. 123を表示

    resultに「123」が入り、MsgBoxに表示

開始位置は1以上です。配列の添字0とは数え方が異なります。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版デスクトップExcelの練習用ブックを.xlsm形式で保存します。Alt+F11でVBEを開き、[挿入]→[標準モジュール]で作った空のモジュールに、Option Explicitから末尾まで、この例だけを貼り付けます。

  2. 2

    セルは使いません。ABC-の4文字の後にある数字を取り出します。

  3. 3

    Example7062のSub内にカーソルを置き、F5キーで実行します。

  4. 4

    5文字目の1から3文字を取り出した「123」が表示されます。

使っている機能の公式ドキュメント(Microsoft Learn)