このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】文字列のパース(分割)をSplit関数で行う方法

2024年3月30日

今回は文字列のパース(分割)をSplit関数で行う方法を紹介します。

スペースやピリオドなどの記号で繋がれた文字列なら、Split関数で簡単にパースをすることができます。

もし、Instr関数で頑張っていたらやり方を覚えてみてください。

VBAが難しいと感じたら
自分で作るのが難しいと感じたらご相談ください。
ココナラにて、VBAの作成を受け付けています。
ご相談はこちらから

文字列のパース(分割)をSplit関数で行う方法

パースを行う例として、IPアドレスをピリオドで分割するコードを紹介します。

Sub ParseIpAddress()
    
    Const STR_IP_ADDRESS = "192.168.0.10"
    Dim strParsed() As String
    
    'IPアドレスをピリオドでパース(分割)
    strParsed = Split(STR_IP_ADDRESS , ".")
    
    Debug.Print strParsed(0) '192
    Debug.Print strParsed(1) '168
    Debug.Print strParsed(2) '0
    Debug.Print strParsed(3) '10
End Sub

サンプルコードではSplit関数を使って、"192.168.0.10″をピリオドで分割しています。

Split関数は文字列を2つ目の引数(今回はピリオド)で分割して、1次元配列で返します。

そのため、ピリオドとピリオドの間といった文字列を簡単に取得できます。

'4つ目の値を取得
Debug.Print Split(STR_IP_ADDRESS , ".")(3) '10

こんな風に特定の位置の文字列をいきなり取得することもできます。

例としたIPアドレス以外にも氏名の姓と名をスペースで分割するといった使い方もできます。

意外と応用範囲が広いので、文字列を分解したいと思ったときはSplit関数が使えないか検討してみてください。

関連記事

Split関数の返り値を受け取る変数はVariant型かString型の配列にする必要があります。

VBAが難しいと感じたら
自分で作るのが難しいと感じたらご相談ください。
ココナラにて、VBAの作成を受け付けています。
ご相談はこちらから

VBA

Posted by やろまい