• ベストアンサー

VBAのコンボについて

AKARI0418の回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

改行するにはVbCrLfという組み込みの定数を使用します。 str = "aaa" & VbCrLf & "bbb" 4文字しか見えないということですので、4文字ごとにVbCrLfをはさんでいけばよいと思います。 str = "12345678901234567890" Result = left(str,4) For i = 1 To Len(str) / 4 - 1 Result = Result & vbCrLf & Mid(str, 4 * i + 1, 4) Next i 取り出すときは Replace(str,VbCrLf,"") とすれば改行コードは削除されます。

noname#101462
質問者

補足

ありがとうございます。 やってみました。VB上でデバックしているときは、変数上では改行コードが反映されていましたが、 エクセルのコンボ内では文字化けが起こってしまっています。 OLEObjectsを使うとよくないのでしょうか? フォントは普通にMSゴシックです。

関連するQ&A

  • VBA コンボボックスの重複削除

    こんばんわ。 VBAをはじめたばかりで、コンボボックスで困っています。 sheet1にコンボボックスを配置して、sheet2のA列にあるデータ (例) A列          1          1          2 を コンボボックスに          1          2 というようにデータを入れたいのですが、どの様にしたらよいのでしょうか? sheet1.コンボボックス.value=workSheet("sheet2).Range(A1:A3).value とすると1・1・2というようにA列の値がすべて入ってしまいました。 これを1・2というようにコンボボックスに入れたいです。  よろしくお願いいたします。

  • Excel VBA コンボボックスについて

    Excel VBA コンボボックスを作成しましたが、リンクを張ってあるデータ文字数が多いと、指定したサイズのコンボボックスよりはみ出て、すべて見ることができません。 Excelの「折り返して表示」のように表示するためには、どのようにしたらいいのでしょうか。 また、 この質問の参考になる、サイトなどありましたら、教えてください。

  • エクセルVBAでコンボボックス

    エクセルVBAのコンボボックスの使い方について質問します。 実現したいプログラムは 「チェックボックスから選んだ数字で計算するプログラム」 です。 具体的には… まず、コンボボックスをシート上に配置します。そのコンボボックスには 数字の1から10を選べるようにしておきます。 次に、コマンドボタンを配置します。これは単にプログラムをスタート させる目的です。 ユーザーは、まずコンボボックスから好きな数字を選択します。 そしてスタートボタン(コマンドボタン)を押します。 すると、選んだ数字の2倍がセルに表示されます。 さらに発展系としては… チェックボックスを4つ配置します。各チェックボックス には、+、-、×、÷を割り振っておきます。 また、コンボボックスを2つ用意し、それぞれ1~10の数字をリストにします。 ユーザーは、チェックボックスから好きな記号を選び、さらにコンボボックスから 好きな数字を選びます。そしてスタートボタンを押すと、選んだ数字を選んだ記号 で計算した値がセルに表示されます。 というようなプログラムを考えているのですが、うまくできません。 ポイントは、 ・チェックボックスにリストを入力する方法 ・チェックボックスの選択状態や、リストボックスから選ばれた数字を、  変数として取得する方法 インターネットで調べているのですが、リストボックスに値を入れるのにもマクロを走らせ なければならない方法とか、ユーザーフォームでの説明ばかりでなかなか実現に至りません。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_userform05.html プログラムのイメージ図としては添付の図の通りです。 どのようにプログラムを書けばいいのでしょうか。

  • Excel VBA コンボボックスの使い方

     VBAでのコンボボックスの使い方をしらべているのですが、うまく見つかりません。コンボボックスのリストに登録するのはどうしたらよいのでしょうか?シート上のセル内のデータを使用しないとリストの登録は出来ないのでしょうか?VBA上で作成して、ユーザーフォームで選択できるようにしたいと思っています。VBAをはじめたばかりなので初歩的な質問で大変恐縮です。どなたかわかる方がいらっしゃったらお願い致します。

  • エクセルVBA「コンボボックスの値をワークシートに代入」

    エクセルVBA「コンボボックスの値をワークシートに代入」 連日質問してしまい申し訳ありません。・・・ 今回は「コンボボックス」にリストアップされている値をセルに入力したいのです。 画像を見て頂ければと思いますが、コンボボックス(左ウィンドウ画像)には25の文字列がリストアップされています。 このリストアップされている文字列をすべてワークシートのセルB4からの"4"列に入力したいのです。 なんだか滅茶苦茶ですが、ご理解頂ければご協力お願いします。

  • エクセル、フォームでのVBAについて(コンボボックス)

    エクセル97でフォームのコンボボックスを使用する場合の質問です。 ワークシートにコンボボックスを10個配置しました。 入力範囲はすべて同じです。 このコンボボックスで特定の項目(入力範囲6番目)を選んだ場合、次のマクロを実行するようにしようと思っています。マクロを10個書いてそれぞれのコンボボックスに登録してもいいのですが、それよりはどのコンボボックスが使用されたか特定できればすべてのコンボボックスに一つのマクロで対応できます。 コンボボックスに番号(たとえばコンボ1~コンボ10)を振ってその番号の取得ができればいいのですが、どのように記述したらよいのか検討がつきません。 お教えください。

  • エクセルシートでVBAについての質問です。

    VBA初心者です。 エクセルのシート上にコンボボックスを配置してリストを選択すると同じシート上のセルに選択されたリストが表示されるようにしたいのですが、よくわかりません。 コンボボックスのオブジェクト名は名前ボックスに表示される名前でいいのでしょうか? 詳しい方ご教授お願いします。

  • ActiveXコントロールのコンボボックスについて

    あるシートに、ActiveXコントロールのコンボボックスを1つ作成し、 別なシートからコンボボックスの中身を取り出すような形にしました。 コンボボックスの中身は  [****]AAAA   ※*は半角数字、AAAは全角で漢字やひらがな交じり。*は4文字。Aは最大16文字 というような形になっています。 コンボボックスの中身は、場合によって違い、最小3個、最大17個になります。 質問1:コンボボックス内の表示がAの部分の4文字までで切れてしまいます。      これが表示の限界なのでしょうか?      全て表示させることはできないのでしょうか? 質問2:コンボボックスの中身が多くなると、垂直スクロールバーが表示されますが、      これがマウスのホイールスクロールと連動しません。      連動させることは出来ないのでしょうか?

  • エクセルVBAのテキストボックスの改行

    エクセルVBAのテキストボックスで 自分好きなところで改行したいのですが、 どうすれば良いのでしょうか? 例えば、全角5文字以上表示出来る幅が有っても、 あいう えお というように、「う」で改行したいです。

  • VBA コンボボックス項目追加?

    エクセル VBA コンボボックスの項目入荷についてですが 入力フォームを開いたときに Private Sub UserForm_Activate() ComboBox1.AddItem ("本社") ComboBox1.AddItem ("東京支社") ComboBox1.AddItem ("大阪支社") End sub のようにコンボボックスに項目をだすことはわかったのですが、 フォームをを開いたときにワークシートを全てを自動で 項目に表示する方法はありますでしょうか? 宜しくお願いいたします。