• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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/17068)
回答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

  • Excel2000VBA テキストボックス内での改行で・・・

    ユーザーフォームにテキストボックスを作り、 テキストボックス内での改行をできるように設定します。 このテキストボックスに入力されたデータをセルに入力すると セルでは改行したところに「・」が入ってしまいます。 例えばテキストボックスに  こんにちは[改行]  いい天気ですね と入力して、これをsheet1のA1に入力します。すると、  こんにちは・  いい天気ですね と入力されてしまいます。 この「・」を表示しないようにする方法はありますか? よろしくお願いします。

  • EXCELのフォームで改行ができない

     EXCELのフォームで改行したいのですが、次のコードで改行しようとしています。  au = "手伝う" & vbCrLf & "手伝う"  TextBox1 = au でテキストボックスに       手伝う       手伝う と表示されて欲しいのですが改行が文字として表示されてしまい改行されません。何故なのでしょうか?テキストボックスのプロパティの問題でしょうか?    

  • エクセルシートから検索

    カテゴリー違いかもしれませんが エクセルVBAのユーザーフォームを使用して テキストボックスへ入力したデータを指定のシートから検索し、 同じユーザーフォームへ希望のデータ(検索値の同行)を表示させるということはできるのでしょうか。 また、入力した文字と一致したもの全てをということも出来るでしょうか。 例 Aのテキストボックスに、検索したい文字を入れる 一致したデータ全ての行の情報を B以降のフォームへ表示させる 説明がわかりにくいとは思いますが 宜しくお願い致します。

  • EXCEL VBA テキストボックスを見やすくしたい

    いつもお世話になっております。 EXCEL VBA のユーザーフォーム上の テキストボックスについて教えて下さい。 大きめのテキストボックスを作り 改行を許可して、数十文字を表示させることができたのですが、行と行の間が詰まりすぎていて、見づらいのです。 行間を空ける方法を教えて下さい。

  • エクセルVBAのテキストボックス改行について

    質問させて頂きます。 今VBAを使っているのですが TextBox内の改行がうまくいきません。 フォーム上にテキストボックスを置いて5~6行表示できる大きさにして、 (テキストボックス内に書いたものを保存ボタンでエクセル内の指定部分に反映させるコードを書き) それをマクロから開いて文字を入力している時に エンター押せば改行できると思っていたのですが出来ません。 CtrlやAlt押しながらもダメでした。 テキストボックスのプロパティ内に行を指定できる何かがあるのでしょうか? 色々いじりすぎて元に戻せなくなりつつあったので 質問させて頂きました。 ご存じの方おられましたら是非教えて下さい。 よろしくお願いします。

  • Excel VBAのTextboxについて

    こんにちは。 Excelのユーザーフォームのテキストボックスに、  あああ  いいい と改行されたデータを入力した後、 セルA1に「あああ」 セルA2に「いいい」とできないでしょうか。 Windows2000、Office2003です。 あまり詳しくないので説明不足な点もあると思いますが、よろしくお願いいたします。

  • エクセル・VBAでテキストボックスに入力された文字を

    エクセル・VBAでテキストボックスに入力された文字を B列から検索し、結果をユーザーフォームのリストbox に表示したいのですがうまくいきません 検索は部分一致・大文字小文字無視で行いたいです よろしくお願いします

  • Excel VBA 条件検索について

    ExcelVBAで 「データ検索後リスト表示をして、そのリストから該当するシートを選べば表示される」 というユーザーフォームを作成したいのですが、やり方がよく解りません。どなたか教えて下さい。 具体的には 「コマンドボタンが押された時に、ユーザーフォーム内のテキストボックスに入力された値(名称、日付等)と、複数のシート内のセルの値(名称、日付等)を比較して、一致(全一致、一部一致)した場合、ユーザーフォーム内のリストボックスに表示させる」 というものと 「リストボックスに表示されたものの中から見たいシートを選択すると、そのシートを表示する」 というものです。 リストの表示形式は シート名   名称  日付等 Sheet1    りんご  2013.01.01 Sheet2    りんご  2013.01.02 という具合にしたいと思っています。 ちなみに複数のシートと言いましたが、マスターシートを作りコピーして使用しますので、同一形式のものになります。 以上になります。 色々やってみましたが、うまくいきませんので、どなたか解る方は教えて下さい。 よろしくお願いします。

  • エクセル2007VBAで検索するコードを知りたい。

    エクセル2007(Excel2007)のVBAで【検索と置換】と同等の機能をもった検索アプリケーションを作りたいのですが、 そのコード(コマンドボタンを実行したときのコード)を教えていただけないでしょうか。 (おそらくですが、リストボックスのコードも必要だと思います。) 正しくは、【検索と置換】から【置換】機能を無くしたものとイメージしていただきたいです。 ●設置するもの ユーザーフォーム(UserForm1) テキストボックス(TextBox1) コマンドボタン(CommandButton1) リストボックス(ListBox1) ●仕様 ユーザーフォームのテキストボックスに入力してコマンドボタンを押すと、検索対象を見つけ、 リストボックスにその対象一覧を行ごとに表示するものになります。 ●検索するときの条件 (1)大文字と小文字を区別しない (2)半角と全角を区別しない (3)部分一致すれば(一部でも一致すれば)検索対象にする (4)今、開いているワークシート上の「全てのセルが検索対象(列や行を指定しない)」 ※検索されたセルの存在する行ごとに、ユーザーフォームのリストボックスに(1行ずつ)表示したいです。 そして、リストボックスに表示されたデータのうち、どれか1つを選ぶと、その選択対象の行の【D列】にアクティブセルを移動するようにしたいです(画面もアクティブセルが見える位置にスクロールします)。 ●リストボックスに(1行ごとに)表示するもの● ↓↓↓ (左から)I列の値、D列の値、O列の値、Q列の値(→4列の値になります) ※リストボックスにQ列の値が表示された場合のみ(Q列に何かしらのデータがある場合のみ)、 リストボックス上の【その行の(I列の値、D列の値、O列の値、Q列の値の)文字すべてを赤色】にして表示していただきたいです。 分かる方がいましたらよろしくお願いいたします。

  • Excel ユーザーフォームからの転記

    Excel ユーザーフォームからの転記 はじめまして、ご教授願います。 Exceiのユーザーフォーム内のテキストボックスのデータをシートに転記したいのですが、 教えてください。 テキストボックス内の改行を含んだデータを改行で区切って、別々のセル(縦に順に)に転記 したいのですが、方法がわかりません。 VBAでどのように書けばよろしいのでしょうか。 ご教授よろしくお願いします。

専門家に質問してみよう