半角スペースで文字列を分割する
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都市を分割する
イメージ図半角スペースで分割したあと、空の要素を表示対象から外します。
スペースで区切った文字列
「東京」と「大阪」の間に半角スペース2個、「大阪」と「福岡」の間に1個
分割して空要素を除外
Split(text, " ")の各要素を調べ、Lenが0より大きいものだけ連結
3行で表示
東京、大阪、福岡を1都市ずつ改行してMsgBoxに表示
全角スペースやタブは、このコードでは区切りとして扱いません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsm形式で保存します。Alt+F11でVBEを開き、[挿入]→[標準モジュール]で作った空のモジュールに、Option Explicitから末尾まで、この例だけを貼り付けます。
- 2
東京と大阪の間には半角スペースが2つ、大阪と福岡の間には1つあります。セル入力は不要です。
- 3
Example7048のSub内にカーソルを置き、F5キーで実行します。
- 4
東京・大阪・福岡が1都市ずつ改行して表示されます。連続するスペースの間の空要素は表示されません。