• ベストアンサー

Excelマクロのコンボボックスに関して

マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 このコンボボックスに同じブックの別シートのA列のX行目からY行目までを格納したいと考えております。 どうかコードの書き方をお教えいただけませんでしょうか?

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

>Excelのシート上にActiveXのコンボボックスを作成しました ActiveXコントロールとありますので フォームツールバーのコントロールと区別はついてるわけですね。 ま、別に確認するようなことでもないですが。。。(^^;;; ■Sheet1上に、Combobox1 があるものとする (1)Sheet2のA1からA9までのデータをセットする場合 Sheets("Sheet1").ComboBox1.List = Sheets("Sheet2").Range("A1:A9").Value (2)Sheet2のA1からA列データ最終行をセットする場合    (要するにA列のデータが増減する場合) Dim LastRow As Long LastRow = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row Sheets("Sheet1").ComboBox1.List = Sheets("Sheet2").Range("A1:A" & LastRow).Value (3)増減しても上記のようにするのは面倒な場合    (要するに、A列全てを対象にする場合) Sheets("Sheet1").ComboBox1.List = Sheets("Sheet2").Range("A:A").Value ■(2)の方法をお勧めします。 以上です。  

priiin
質問者

お礼

最終行をセットしたかったので(2)の方法で実現しました。 言葉足らずで失礼しました。 ありがとございました。

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

コンボボックスのリストをA列のX行目からY行目で取りたいと言うことでしょうか でしたらプロパティのListFillRangeで設定できますよ。 参考 http://officetanaka.net/excel/function/tips/tips05.htm

参考URL:
http://officetanaka.net/excel/function/tips/tips05.htm
priiin
質問者

お礼

ありがとうございます。 最終行をセットしたかったので今回は別方法をとらせて頂きました。 言葉足らずですみませんでした。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

例えば、下記のようなことでどうでしょうか。 ActiveSheet.OLEObjects("ComboBox1").ListFillRange = "Sheet2!A1:A10"

priiin
質問者

お礼

ありがとうございます。 最終行をセットしたかったので今回は別方法をとらせて頂きました。 言葉足らずですみませんでした。

関連するQ&A

専門家に質問してみよう