Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12368 / 13645 ツリー ←次へ | 前へ→

【10871】起動時にコンボボックスに入力 セルゲイ 04/2/17(火) 16:38 質問
【10872】Re:起動時にコンボボックスに入力 Asaki 04/2/17(火) 16:42 回答
【10873】Re:起動時にコンボボックスに入力 セルゲイ 04/2/17(火) 16:49 質問
【10877】Re:起動時にコンボボックスに入力 Asaki 04/2/17(火) 17:03 回答
【10881】Re:起動時にコンボボックスに入力 セルゲイ 04/2/17(火) 17:16 お礼

【10871】起動時にコンボボックスに入力
質問  セルゲイ  - 04/2/17(火) 16:38 -

引用なし
パスワード
   いつも勉強させてもらっています。

Excelシート起動時に"Sheet1"のCombobox1に"Sheet2"のA列のデータを入力したいのですが。。

↓のような処理を起動時に行いたいのですが、Workbook_Open()に記述してもComboBox1を認識してくれず、変数を定義しろと表示されます;;


With ComboBox1
  .Clear
  s = Worksheets("Sheet2").Range("A65535").End(xlUp).Row - 1
  For i = 0 To s
    .AddItem (Worksheets("Sheet2").Cells(1 + i, 1).Value)
  Next i
  .ListIndex = s
  .Style = fmStyleDropDownList
End With

何かいい方法はないでしょうか?

またComboBoxのデータはエクセルシートを閉じると消えてしまうものなのでしょうか?

バージョンはExcel2000です。
説明不足ですがよろしくお願いします。

【10872】Re:起動時にコンボボックスに入力
回答  Asaki  - 04/2/17(火) 16:42 -

引用なし
パスワード
   こんにちは。

>With ComboBox1

With Sheet1.ComboBox1
とするとどうなりますか?

あと、Additemしなくても、ListFillRange を設定すればよいような気がしますが、
どうでしょう?

【10873】Re:起動時にコンボボックスに入力
質問  セルゲイ  - 04/2/17(火) 16:49 -

引用なし
パスワード
   うまくいきました。
ありがとうございます。

もう一つですが、ListFillRangeとはどういう使い方でしょうか?
2000で作っているのに2002の本見ながら作成しているので;;

▼Asaki さん:
>こんにちは。
>
>>With ComboBox1
>↓
>With Sheet1.ComboBox1
>とするとどうなりますか?
>
>あと、Additemしなくても、ListFillRange を設定すればよいような気がしますが、
>どうでしょう?

【10877】Re:起動時にコンボボックスに入力
回答  Asaki  - 04/2/17(火) 17:03 -

引用なし
パスワード
   >ListFillRangeとはどういう使い方でしょうか?
Sheet1.ComboBox1.ListFillRange _
  = "Sheet2!" & Worksheets("Sheet2").Range("A1", _
  Worksheets("Sheet2").Cells(65536, 1).End(xlUp)).Address(False, False)
こんな感じで、A1からA列の最終行までをリスト範囲にします

【10881】Re:起動時にコンボボックスに入力
お礼  セルゲイ  - 04/2/17(火) 17:16 -

引用なし
パスワード
   ListFillRangeでうまくいきました。
Asakiさん、素早いレスありがとうございます。

勉強になりました。

12368 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free