文字列を任意の文字数以下になるようコンマで改行する
以下の2記事でセル内の文字列を改行する方法を書きました。
「セル内の文字列を改行する」
「セル内の文字列をコンマで改行する」
今回はこの2つの記事の方法を合わせたような方法で、
1行が10文字以内になるようにコンマで改行をします。
今までよりは若干コードがわかり難いかもしれませんので、
下記のmacro180609aの説明をしていきます。
改行を追加したい文字列を「Str1」に格納します。
「StrNum」で1行を何文字以内にするのかを指定します。
「Str2」に改行を追加した文字列を作っていきます。
①「Str3」に「Str1」の1文字目から10文字目を格納します。
②この「Str3」で1文字ずつ「,」か「,」と等しいかを判定していきます。
文字列の後ろから調べていって
1文字目からコンマがあった文字までの文字列と改行を
「Str2」に追加します。
③「Str1」を「Str3」で判定したコンマ以降の文字列に変更します。
④この変更した「Str1」を使って
「Str3」に「Str1」の1文字目から10文字目を格納します。
以下②から④の繰り返しです。
最終的に、「Str1」の文字列が11文字より小さく
かつ「Str3」にコンマがなかった場合は
「Str2」に「Str3」をそのまま追加します。
また、最終行でないときに
「Str3」にコンマがなかった場合は
「Str2」に「Str3」と改行を追加します。
コードはこちら
Sub macro180623a() Dim i As Integer,
j As Integer |
下の画像の状態で上記のコードを実行
実行結果:
| 固定リンク
« Break a character string in a cell with a comma | トップページ | Break a character string with a comma to make it less than or equal to the specified number of characters »
この記事へのコメントは終了しました。

コメント