- ベストアンサー
VBAで、リストボックスの内容をセルに
VBA初心者です。よろしくお願いいたします。 既に項目がいくつか入っているListBox1から、「AddItem.」を用いて「追加」機能を作り、項目が入っていないListBox2にいくつか追加したとします。 この、ListBox2の内容をセルに反映させるには、どのようにすれば良いのでしょうか。 分かりにくい文章になってしまいましたが、ご存じの方、教えて下さいませんでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<ListBox の内容をセルに反映させる> 解釈1、ListBox の選択された項目をセルA1に代入したい。 解釈2、ListBox の項目をA1,A2,・・・ANに代入したい。 <解釈1> Listbox の LinkedCell=A1 で! <解釈2> 「ListBox へ項目を追加する際に、セルにも代入する」-普通に考えて一番手順が簡単なルーチン! ※念の為に、A1,A2,・・・,AN にリストボックスの項目を代入・表示するコードも示しておきます。 Private Sub CommandButton1_Click() Dim I As Integer Dim N As Integer N = ListBox1.ListCount For I = 1 To N Me.Cells(I, 1) = ListBox1.List(I - 1) Next I End Sub ※私は、Excelも操作できない門外漢かつ素人ですので悪しからず!
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17070)
>ListBox2の内容をセルに反映させるには、どのようにすれば良いのでしょうか。 (1)ListBoxのプロパテイを開いて、LinkedCellの行にB5とか入力する (2)標準モジュールに 例えば Sub test01() Worksheets("Sheet1").ListBox2.AddItem "東京" Worksheets("Sheet1").ListBox2.AddItem "京都" Worksheets("Sheet1").ListBox2.AddItem "大阪" Worksheets("Sheet1").ListBox2.LinkedCell = "B5" End Sub を入れて実行する。 >、「AddItem.」を用いて「追加」機能を作り >項目が入っていないListBox2にいくつか追加したとします。 両者区別して質問する必要があるのですか。 AddItemはListBox1、ListBox2とも、全項目をプログラムの中へ記述するのでしょう。 Listbox1とListBox2の項目の中に共通項目があるのですか。 ListBox1の変更からListBox2に波及するのですか。 果たしてこの部分は書く必要があったのか。表題には含まれていないが。
お礼
質問文が悪くて申し訳ありません。もっと勉強しなければ!大変勉強になります。 ご回答ありがとうございます。
お礼
ご回答ありがとうございます。大変参考になりました。