« セルの高さと幅の設定 | トップページ | マルチコアとVBA »

2010年1月17日 (日)

Excel VBAでセル内での改行

手動でセルを選択、アクティブにして
セルに入力する時に、
セル内で改行したいと思って
{Enter}を押す。
すると、セル内で改行できずに
下のセルに移動してしまいます。

手動の入力でセル内で改行する時は

Alt + {Enter}

で改行します。

Excel VBAでセルの値を設定する時
セル内で改行するには、
MsgBoxやInputBoxでの改行と同じく
Chr(10)を使います。

セル内で改行するコード:

Sub macro100117a()
'セル内での改行
    Cells(1, 1) = "改行前" & Chr(10) & "改行後"
End Sub

結果は
Pic20100117a

ワークシート関数にもChr関数と同じような
CHAR関数があります。

="改行前" & CHAR(10) & "改行後"

とセルに手動で入力してみる。

計算結果のダイアログでは
改行されているようですが
Pic20100117b

セルの表示ではこのように
Pic20100117c

改行されませんでした。

また、

セルを下に移動するときは {Enter}
セルを右に移動する時は {Tab}

を使います。
なのでセル内で{Tab}を使おうとすると
右に移動してしまいます。

そこで{Enter}と同様に
Chr関数を使ってセル内に{Tab}を入れてみる。

セル内に{Tab}を入れるコード:

Sub macro100117b()
'セル内でのタブ
    Cells(1, 1) = "改行前" & Chr(10) _
        & Chr(9) & "改行後タブ"
End Sub

結果は
Pic20100117d

この例では{Tab}は使えませんでした。

セル内で{Tab}を使いたい時は
スペースで代用するのがよさそうです。

|

« セルの高さと幅の設定 | トップページ | マルチコアとVBA »

コメント

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

トラックバック


この記事へのトラックバック一覧です: Excel VBAでセル内での改行:

« セルの高さと幅の設定 | トップページ | マルチコアとVBA »