• ベストアンサー

VBAで、リストボックスの内容をセルに

VBA初心者です。よろしくお願いいたします。 既に項目がいくつか入っているListBox1から、「AddItem.」を用いて「追加」機能を作り、項目が入っていないListBox2にいくつか追加したとします。 この、ListBox2の内容をセルに反映させるには、どのようにすれば良いのでしょうか。 分かりにくい文章になってしまいましたが、ご存じの方、教えて下さいませんでしょうか。

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

  • ベストアンサー
noname#22222
noname#22222
回答No.1

<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も操作できない門外漢かつ素人ですので悪しからず!

noname#91219
質問者

お礼

ご回答ありがとうございます。大変参考になりました。

その他の回答 (1)

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

>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に波及するのですか。 果たしてこの部分は書く必要があったのか。表題には含まれていないが。

noname#91219
質問者

お礼

質問文が悪くて申し訳ありません。もっと勉強しなければ!大変勉強になります。 ご回答ありがとうございます。

関連するQ&A