「VBA mid関数 最後まで」
といった検索で、以前から時折アクセスがあったことに気が付きました。
VBAのMid関数を使って、
何らかの文字列から、その最後までを取得するには、引数をどのように指定すればいいのか調べていらしたのでしょう。
Mid関数で最後まで取得するサンプルマクロ
Mid関数はInStr関数等と組み合わせて使う場合が少なくありませんが、まずはシンプルなコードで挙動を確認しましょう。
以下のマクロを実行してみてください。
Const TXT = "abcdefg"
MsgBox Mid(TXT, 3)
End Sub
定数TXTに代入されている「abcdefg」から、3文字目から最後までの「cdefg」がメッセージボックスに表示されます。
VBAのMid関数には、3つの引数Strig・Start・Lengthを指定できますが、必須なのは前2つだけで、最後の1つLengthを省略すると元の文字列から最後までが返されます。
知ってしまえば、まったく難しくないはずです。
第3引数が必須でないことは、オブジェクトブラウザー詳細ペインで、
引数名のLengthが[ ]で括られていることからもわかります。
引数Lengthが省略可能であることは、もちろんヘルプにも記載されています。
ワークシート関数とVBAの関数はまったく別物
「VBA mid関数 最後まで」
と検索なさった方は、VBAのMid関数が、Excelのワークシート等で使えるMID関数と同じだと考えていらしたのかもしれません。
ワークシート関数のMIDは、3つの引数を必ず指定しなければなりませんから、VBAのMid関数でも同じだろうと思い込んでしまったのかもしれません。
VBAのMid関数と、ワークシート関数のMIDは、たまたま同じような動きをする関数ですが、まったく別物です。
似た挙動をする関数が、いずれも「mid」と名付けられているに過ぎません。
最終更新日時:2023-06-22 05:47
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAのMid関数で最後まで取得するには