VBAマクロのsplit関数で、セル内の文章を段落ごとに区切りたいです。

実現したいこと

VBAのsplit関数で、セル内の文章を段落ごとに区切りたいです。

動作前→動作後のイメージは下記の通りです。(「」は文章の塊を表しており、文章そのものには含まれていません)

(動作前)
「 初めて質問させていただきます。
初心者ですがよろしくお願いいたします。

段落間の空白行は1行だったり、2行だったり、それ以上だったりします。

split関数でなくても同じことが実現できれば大丈夫です。
その場合はコードをいただけるととても助かります。
どうぞよろしくお願いいたします。」


(動作後)

「 初めて質問させていただきます。
初心者ですがよろしくお願いいたします。」
「段落間の空白行は1行だったり、2行だったり、それ以上だったりします。」
「split関数でなくても同じことが実現できれば大丈夫です。
その場合はコードをいただけるととても助かります。
どうぞよろしくお願いいたします」

上記のように段落ごとに分割したいです。段落間の空白行は1行とは限らず、複数行の場合もあります。

前提

VBAで実現したいです。

発生している問題・エラーメッセージ

Dim I As Long Dim Buf As Variant '配列を指定します。 Buf = Split(対象セル, vbLf+) For I = 0 To UBound(Buf) '配列に分割して格納したデータを繰り返します。 MsgBox Buf(I) '分割したデータを順番にメッセージボックスへ表示します。 Next I

だと
vbLf+の表現が正しくない様で、エラーになります。
なお
vbLf+→vbLf
に修正すると
段落ごとではなく、改行ごとに区切ることには成功しています。
例文だと
「初めて質問させていただきます。」
「初心者ですがよろしくお願いいたします。」
「」
「段落間の空白行は1行だったり、2行だったり、それ以上だったりします。」
といった出力結果です。

よろしくお願いいたします。

コメントを投稿

0 コメント