動作検証バージョン:Windows 11 Home + 64bit Excel(バージョン2304 ビルド16327.20134)
「vba split セル内改行」
「改行文字 VBA エクセル Split セル」
といった検索で時折アクセスがあります。
Excelのセル内で改行されている文字列を、VBAのSplit関数を使って分割するには
どのようなコードを書けばいいのかを調べていらしたのでしょう。
[スポンサードリンク]
Split関数を使ってセル内改行を含む文字列を分割するサンプルマクロ
アクティブシートのA1セルに、セル内改行を含む文字列を入力して、以下のExcelマクロを実行してみてください。
Sub Split関数を使ってセル内改行された文字列を分割する()
Dim txt As String
txt = Range("A1").Value
MsgBox Split(txt, vbLf)(0)
MsgBox Split(txt, vbLf)(1)
End Sub
Dim txt As String
txt = Range("A1").Value
MsgBox Split(txt, vbLf)(0)
MsgBox Split(txt, vbLf)(1)
End Sub
以下のコードで、
MsgBox Split(txt, vbLf)(0)
1つ目のセル内改行の前の文字列がメッセージボックスに表示され、
MsgBox Split(txt, vbLf)(1)
で、1つ目のセル内改行の後ろから2つ目のセル内改行の前までの文字列がメッセージボックスに表示されます。
Split関数の第2引数に定数vbfLfを指定すれば、セル内改行を区切り文字として文字列を分割できます。
vbLfではなくChr(10)でも可能だが…
サンプルマクロの以下の部分は、
MsgBox Split(txt, vbLf)(0)
MsgBox Split(txt, vbLf)(1)
VBAのChr関数を使った
以下のようなコードでも同じ結果になります。
MsgBox Split(txt, Chr(10))(0)
MsgBox Split(txt, Chr(10))(1)
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAのSplit関数を使ってセル内改行を含む文字列を分割する