Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAのMid関数で最後まで取得するには

VBAのMid関数で最後まで取得するには

動作検証バージョン:Windows 11 Home + 64bit Excel(バージョン2307 ビルド16610.20000 クイック実行)

「VBA mid関数 最後まで」
といった検索で、以前から時折アクセスがあったことに気が付きました。

VBAのMid関数を使って、

何らかの文字列から、その最後までを取得するには、引数をどのように指定すればいいのか調べていらしたのでしょう。

[スポンサードリンク]

Mid関数で最後まで取得するサンプルマクロ

Mid関数はInStr関数等と組み合わせて使う場合が少なくありませんが、まずはシンプルなコードで挙動を確認しましょう。
以下のマクロを実行してみてください。

Sub Mid関数で最後まで取得する()
 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関数で最後まで取得するには

「VBA関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.