• ベストアンサー

エクセルVBAで改行のやりかた

ユーザーフォームでテキストボックスを設置しています。 エクセルファイルからデータを検索して、一致するものをこのテキストボックス内に表示したいのですが、 データがいくつもある場合、テキストボックス内で改行して表示したいのですがやり方がわかりません。 分かる方いらっしゃいましたら伝授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

(1)そのTextBoxのプロパティのMultiLineプロパテイを Trueにする (2)改行するところでVBCrlfかChr(13)をいれる。 下記3つともOKのよう。 Sub test01() Worksheets("Sheet3").TextBox1.Text = "aaa" & Chr(13) & "bbb" End Sub Sub test02() Worksheets("Sheet3").TextBox1.Text = "" Worksheets("Sheet3").TextBox1.Text = "aaa" & Chr(10) & "bbb" End Sub Sub test03() Worksheets("Sheet3").TextBox1.Text = "" Worksheets("Sheet3").TextBox1.Text = "aaa" & vbCrLf & "bbb" End Sub

momotya
質問者

補足

さっそくの回答ありがとうございますm(_ _)m 質問なんですがChr()の中の数字は何か決まりがあるのでしょうか。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2です。補足の質問に既に答えが載りました。 ()内は8ビット文字コードの番号です。通常は文字に割当てられていますが、少数はタブ、改行、キャリッジリターン、垂直タブ、ベルなどの機能的なものに割り当てられています。 ついでに Sub test01() Worksheets("Sheet3").TextBox1.Text = "" Worksheets("Sheet3").TextBox1.MultiLine = False Worksheets("Sheet3").TextBox1.Text = "aaa" & Chr(13) & "bbb" End Sub では改行がされないことを確認しました。Chr(13)はキュ ーQの字を反対向けた字で表示され、改行せずbbbga 続いています。

momotya
質問者

お礼

またまた回答ありがとうございます! No.2のやりかたでなんとか改行できましたO(≧▽≦)O やっと先に進めます^^; が、私はまだまだVBAの勉強が足りません。 imogasiさんエクセルお詳しいようなのでまた何かありましたらよろしくお願いいたします ありがとうございました☆

回答No.3

>質問なんですがChr()の中の数字は何か決まりがあるのでしょうか。 改行コードは、 キャリッジリターンが chr(13)、ラインフィードがchr(10)になります。 Windowsは普通、改行コードはキャリッジリターン+ラインフィードです。 VBCrLfはvbの組み込み定数で、chr(13) & chr(10)と同じ意味です。 他に、VBCrはchr(13)で、VBLfはchr(10)です。

momotya
質問者

お礼

〆(゜_゜*)フムフム なんとかテキストボックス内で改行できそうです。 詳しい説明ありがとうございました☆

  • TT_TT
  • ベストアンサー率17% (16/90)
回答No.1

vbcrlfを改行を入れたいところに入れてみて下さい

参考URL:
http://www.accessclub.jp/actips/tips_61.htm
momotya
質問者

お礼

参考URLまで紹介していただきありがとうございました! なるほど、こういうやりかたがあったんですか。 VBA初心者なのでまだまだ勉強しなければなりませんね^^; ありがとうございました☆

関連するQ&A