← コード一覧へ戻る
基本文字・日付

半角スペースで文字列を分割する

Splitに半角スペースを指定し、連続するスペースでできた空の要素を除いて表示します。

実行前に確認

  • 区切りは半角スペース1文字です。全角スペースやタブは自動では区切りになりません。
  • この例は空の要素を除いて表示します。空の欄を意味のあるデータとして扱う場合は除外しないでください。
  • Excel実機での動作は未確認です。コピーした練習用ブックで試してください。

1サンプルコード

Option Explicit

Sub Example7048()
    Dim text As String
    Dim words As Variant
    Dim word As Variant
    Dim result As String

    text = "東京  大阪 福岡"
    words = Split(text, " ")
    For Each word In words
        If Len(CStr(word)) > 0 Then
            result = result & CStr(word) & vbCrLf
        End If
    Next word
    MsgBox result, vbInformation, "スペースで分割"
End Sub

図で見る連続スペースを含む3都市を分割する

イメージ図

半角スペースで分割したあと、空の要素を表示対象から外します。

  1. スペースで区切った文字列

    「東京」と「大阪」の間に半角スペース2個、「大阪」と「福岡」の間に1個

  2. 分割して空要素を除外

    Split(text, " ")の各要素を調べ、Lenが0より大きいものだけ連結

  3. 3行で表示

    東京、大阪、福岡を1都市ずつ改行してMsgBoxに表示

全角スペースやタブは、このコードでは区切りとして扱いません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版デスクトップExcelの練習用ブックを.xlsm形式で保存します。Alt+F11でVBEを開き、[挿入]→[標準モジュール]で作った空のモジュールに、Option Explicitから末尾まで、この例だけを貼り付けます。

  2. 2

    東京と大阪の間には半角スペースが2つ、大阪と福岡の間には1つあります。セル入力は不要です。

  3. 3

    Example7048のSub内にカーソルを置き、F5キーで実行します。

  4. 4

    東京・大阪・福岡が1都市ずつ改行して表示されます。連続するスペースの間の空要素は表示されません。

使っている機能の公式ドキュメント(Microsoft Learn)