« Various input methods for today's date | トップページ | Break a character string in a cell »

2018年6月 2日 (土)

セル内の文字列を改行する

セル内に長い文字列が入力されているとき
改行しないとセルの横幅が長くなります。
横幅が長すぎると見難いので
セル内で改行して横幅を小さくします。

手入力でのセル内の改行は
「Alt」+「Enter」で出来ます。

ここでは、
VBAで文字列を5文字ごとに改行する方法を紹介します。
文字列に改行を追加するのにChr関数 を使います。

改行はChr(10)と同等なので、
これを文字列の間に追加します。

文字列を5文字ずつ認識するには
Mid関数 とFor文を使います。

コードはこちら

文字列を5文字ごとに改行するコード:

Sub macro180602a()
'文字列を改行する
'5文字ごと

    Dim i As Integer
    Dim c As Object
    Dim Str As String
    Dim Rng As Range
    Dim num As Integer
    num = 5 '文字数
    Set Rng = ActiveSheet.Range("A1:A2") '範 囲
   
    For Each c In Rng
        Str = ""
        For i = 1 To Len(c.Text) Step num
            Str = Str & Mid(c, i, num) & Chr (10)
        Next i
        Cells(c.Row, c.Column) = Str
    Next c
   
End Sub

下の画像の状態で上記のコードを実行

Vba20180602a

実行結果:
Vba20180602b

半角と全角の区別なく
5文字ずつで改行されました。

上記のコードで
numで改行する文字数、
rngで範囲を指定しています。
この2つの変数を変えれば
改行する文字数やセルの範囲を変えられます。

|

« Various input methods for today's date | トップページ | Break a character string in a cell »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: セル内の文字列を改行する:

« Various input methods for today's date | トップページ | Break a character string in a cell »