エクセルバージョン
マイクロソフト365
今回は抜き出す文字の開始位置と文字数を指定すると、指定された文字列が取得できるMid関数について解説していきたいと思います。
それではいってみましょう!
Menu
Mid関数
概要
文字列から文字の開始位置と文字数を指定することで、指定した文字列Variant(String)を返します。
構文
Mid(文字列,開始位置, [文字数])
[ ]は省略可です。
引数
Mid | 引数 | 詳細 | 必須/省略可 |
第1引数 | 文字列 | 対象となる文字列を指定。 | 必須 |
第2引数 | 開始位置 | 開始位置を指定。 | 必須 |
第3引数 | 文字数 | 取得したい文字数。 ・省略は文字の最後まで取得。 | 省略可 |
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Sub Mud_Sample() ' '第3引数(文字数)を省略なので3文字目から全て Debug.Print Mid("abcde", 3) '【結果】cde '第3引数(文字数)を省略なので4文字目から全て Debug.Print Mid("09012345678", 4) '【結果】12345678 '3文字目から100文字 Debug.Print Mid("abcde", 3, 100) '【結果】cde '2文字目から1文字 Debug.Print Mid("あいうえお", 2, 1) '【結果】い '8文字目から全て Debug.Print Mid("sample@yahoo.co.jp", 8) '【結果】yahoo.co.jp '5文字目から4文字 Debug.Print Mid("090-1234-5678", 5, 4) '【結果】1234 'A1セルが → abcdeの場合 '2文字目から2文字 Debug.Print Mid(Range("A1"), 2, 2) '【結果】bc End Sub |
まとめ
応用して使用する場合は、下記のメールドメインの取得が参考になるので是非一読してみてください。
ExcelVBAでメール@の後ろ(ドメイン)を抜出し取得する
以上です。
【文字列操作】
文字を抜き出す(左と右)
【VBA】 文字の左や右から文字を抜く(Left,Right)
文字を抜き出す(指定位置から指定文字数)
【関数】指定位置から指定文字数を抜き出す(MID,MIDB)
文字の位置を取得
【関数】指定した文字の位置を文字列から検索(FIND,FINDB)
【関数】文字の位置番号を取得(SEARCH,SEARCHB)
文字数を取得
文字を置換する
【関数】指定位置から何文字や何バイト指定して置換(REPLACEとREPLACEB)
【VBA】配列の文字列を置換(先頭,末尾,全て)Replace