Mid関数の使い方と注意点
Mid関数は、文字列の指定した位置から指定した文字数分を取り出す関数です。
全角・半角・記号・日本語も対象にでき、文字単位で扱います。
構文
Mid(文字列, 開始位置, 文字数)
- 文字列: 対象となる文字列やセルの値
- 開始位置: 抽出を開始する位置(1から始まる)
- 文字数: 抽出したい文字数(省略可。省略した場合は最後まで抽出)
使用例
文字数を指定した場合
以下は、さまざまな文字種を対象に Mid
関数を使った例です。
Sub Sample()
Dim mystring1 As String
mystring1 = "Abcd"
Debug.Print "半角英字 : " & Mid(mystring1, 2, 2)
Dim mystring2 As String
mystring2 = "Abcd"
Debug.Print "全角英字 : " & Mid(mystring2, 2, 2)
Dim mystring3 As String
mystring3 = "あいうえ"
Debug.Print "ひらがな : " & Mid(mystring3, 2, 2)
Dim mystring4 As String
mystring4 = "亜伊宇江"
Debug.Print "漢字 : " & Mid(mystring4, 2, 2)
Dim mystring5 As String
mystring5 = "!?#/"
Debug.Print "半角記号 : " & Mid(mystring5, 2, 2)
Dim mystring6 As String
mystring6 = "!?#/"
Debug.Print "全角記号 : " & Mid(mystring6, 2, 2)
Dim mystring7 As String
mystring7 = "1234"
Debug.Print "半角数字 : " & Mid(mystring7, 2, 2)
Dim mystring8 As String
mystring8 = "1234"
Debug.Print "全角数字 : " & Mid(mystring8, 2, 2)
Dim mystring9 As String
mystring9 = "A b C" ' 半角スペース+全角スペース
Debug.Print "スペース : [" & Mid(mystring9, 2, 2) & "]"
End Sub
▶ 出力結果
半角英字 : bc
全角英字 : bc
ひらがな : いう
漢字 : 伊宇
半角記号 : ?#
全角記号 : ?#
半角数字 : 23
全角数字 : 23
スペース : [ b]
文字数を省略した場合
こちらの例ではExcel
という文字列の2
文字目から最後まで抽出します。
Sub Sample()
Dim mystring As String
mystring = "Excel"
Debug.Print Mid(mystring, 2)
End Sub
▶ 出力結果
xcel
⚠️注意
開始位置が文字列の文字数を越える場合は空文字が返ります。
Sub Sample()
Dim mystring As String
mystring = "Excel"
Debug.Print "文字列[" & Mid(mystring, 10, 3) & "]"
End Sub
▶ 出力結果
文字列[]
文字数が残りの文字数を越えると、末尾まで取得される
Sub Sample()
Dim mystring As String
mystring = "Excel"
Debug.Print Mid(mystring, 2, 10)
End Sub
▶ 出力結果
xcel
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方