文章が長い。どうにかしたい

Excelで文章を書くときに、どうしても長くなってしまうことがあります。セルの横幅を超えることはむしろ普通です。

セルに入力できる文字数の制限は32767文字と、結構な文字数を入力できるのですが、そこまででは無いにしても1つのセルにそんな長文を入れても、横に長くなりほとんどの場合は読みにくいです。

セルの書式設定で「折り返して全体を表示する」にチェックを付けることで横幅を超えることはなくなりますが、代わりに行の高さが高くなり、関係ない列の行の高さも一緒に高くなり、資料として読みづらくなることもあります。

そういう場合には、句点「。」や読点「、」で文章を区切り、それ以降の文章を下のセルに移動して文章を分割してしまうのも一つの手です。

セル内の句点と読点で下のセルに分割するコード

以下の関数は、アクティブセルの文章を句点「。」または読点「、」までで区切り、それ以降の文章は下のセルを追加して書き込みます。

例えば、「今日は、天気が、雨です。でも、明日は、晴れです。」という句点と読点が合わせて6個ある文章の場合、以下のように句点と読点でそのセルの文章を止めて、以降の文章は次の行を追加してそちらに移動します。

今日は、
天気が、
雨です。
でも、
明日は、
晴れです。

文章の最後の句点、読点は改行しません。

なお、アクティブセルの下に文章が既にあっても消したりしません。アクティブセルのすぐ下に新規行(空行)を追加してそこを利用するため、元々下の行にあった文章は1行下にずれるだけで文章自体には影響はありません。

使い方

使い方は、セルを選択して、上記関数を実行するだけです。

ソースコードでは27行目のIf文で句点と読点を改行の対象としていますが、例えば句点「。」だけを改行にしたい場合は「If c = “。” Then」とします。

また、句点や読点だけでなく他の文字を改行に含めたいや、まったく別の文字を改行の対象としたい場合も同様にIf文を変更することで対応できます。