【VBA】Split関数で”_”区切りの文字列を分割して値を取得する方法|ファイル名やコードに便利

VBAでファイル名やIDなどのアンダースコア(”_”)で区切られた文字列から、特定の要素を抽出したいと思ったことはありませんか?
今回は、VBAのSplit()関数を使って、文字列を”_”で分割し、目的の部分だけを取り出す方法をご紹介いたします。


目次

実現したいこと

  • "Mori_Hayashi_Ki" のような文字列から
    "Mori""Hayashi""Ki" など特定の部分を取得したい
  • 文字列を "_" で区切り、配列として扱いたい

使用するVBAコード

以下のコードを実行すると、文字列を”_”で分割して、配列の要素として取得できます。

Sub SplitExample()
    Dim fileName As String
    Dim parts() As String
    Dim desiredPart As String

    fileName = "Mori_Hayashi_Ki"
    parts = Split(fileName, "_")
    
    ' 2番目の要素を取得(インデックスは0から始まる)
    desiredPart = parts(1)
    
    MsgBox "取得した値は: " & desiredPart
End Sub

結果の確認

  • parts(0) を取得 → 結果は "Mori"
  • parts(1) を取得 → 結果は "Hayashi"
  • parts(2) を取得 → 結果は "Ki"

Split()関数は、指定した区切り文字で文字列を分割し、配列として返してくれる非常に便利な関数です。


補足:Split関数の構文

Split(対象の文字列, 区切り文字)
  • 戻り値は 1次元の文字列配列
  • インデックスは0から始まることに注意してください
  • Split("A_B_C", "_") の結果:
    parts(0)="A", parts(1)="B", parts(2)="C"

よくある使用例

  • ファイル名から「ユーザー名」「日付」などを取り出す場合
    例: "Report_2024-05-01_Tokyo.xlsx"
  • フォルダ構成やシリアル番号をパーツごとに分解する場合
  • CSV風の文字列をそのまま扱う簡易処理にも便利

まとめ

VBAで文字列を分割して扱いたい場合は、Split()関数を使うことでシンプルかつ柔軟に処理できます。

  • "_" などの任意の区切り文字で簡単に分割可能
  • 0ベースの配列として管理されるため、必要な要素に直接アクセス可能
  • ファイル名処理やデータ整形の場面で非常に有用

日常的に扱う文字列データの加工に、ぜひ活用してみてください。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次