セル内の文字列をコンマで改行する
1つ前の記事「Excel
VBAでセル内での改行」では
5文字ごとに改行するコードを紹介しました。
今回は、コンマで改行する方法を考えてみます。
文字列内にコンマが複数個ある場合もあるので、
文字列の1文字目から最後まで
1文字ずつ「,」と等しいかどうかを
If文で判定していきます。
もし、「,」と等しいなら
前回の記事と同様にChr(10)を文字列に追加していきます。
コードはこちら
Sub macro180609a()
Dim i As Integer |
下の画像の状態で上記のコードを実行
実行結果:
実行結果で改行しなかった部分がありますね。
改行しなかったコンマは良く見ると全角です。
上記のコードでは半角のコンマでしか改行しません。
半角と全角の2種類のコンマを両方拾うには
If文の条件にOr演算子を使って次のようにします。
c = "," Or c = ","
上記はcが半角コンマか全角コンマかどちらかのときTrueを返します。
この条件でのコードはこちら
Sub macro180609b() Dim i As Integer |
下の画像の状態で上記のコードを実行
実行結果:
半角、全角両方のコンマで改行されました。
Or演算子は複数個を重ねて使えるので、
If文の条件に次のように指定することで
改行したい文字の種類を
増やすことが出来ます。
c = "," Or c = "," Or c = "、"
VBAにしろワークシート関数にしろ
半角と全角の違いで上手くいかなくなることは多いので
厄介ですね。
| 固定リンク
この記事へのコメントは終了しました。

コメント