|
WindowsXP
Excel2007(使用するブックは97-2003互換モード)
-------------------------------------------------
はじめまして。ユキと申します。
この度はよろしくお願いいたします。
コンボボックスのプロパティ設定についてです。
Sheet1に配置したボタン1を押下し、Form1を呼び出します。
Form1にはコンボボックス1があり、コンボボックスのRowSourceには、Sheet2のC列を設定します。
Sheet2のC列のデータ数は、可変するので、その都度最終行を検索するようにします。
その、RowSourceの設定の仕方でつまづいています。
以下、Form1の起動時のソースです。
----------------------------------------------------------------
Private Sub UserForm_Initialize()
Dim lListRow_Max As Long
With Me
lListRow_Max = ThisWorkbook.Worksheets("Sheet2").Range("C1").End(xlDown).Row
.cmbbox1.RowSource = "Sheet2!C1:C" & lListRow_Max
End With
End Sub
----------------------------------------------------------------
.cmbbox1.RowSource = "Sheet2!C1:C" & lListRow_Max
で、「RowSourceプロパティを設定できません。プロパティの値が無効です。」というエラーが出ます。
そこで、実際にForm1のコンボボックス1に「Sheet2!C1:C5」(lListRow_Maxを仮に5と指定)と設定してみると、ちゃんとRowSourceとして認識します。
ちなみに、ボタン1をクリックしての動作では無く、Form1を起動させる動作(ユーザーフォームの実行)だと、上記のコードでも問題無くRowSourceのプロパティとして設定します。
色々と検討してみましたが、どこに問題があるのか判別できません。
どなたかご教授願えませんでしょうか。
よろしくお願いいたします。
|
|