| 
    
     |  | 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のプロパティとして設定します。
 
 色々と検討してみましたが、どこに問題があるのか判別できません。
 どなたかご教授願えませんでしょうか。
 よろしくお願いいたします。
 
 
 |  |