|
▼T-K さん
どもども
>【Q1】
>私は、Worksheets("RowSource_List").Range("B2:B15")が、
>UserForm1のComboBox" & ○に格納されるのだろうと考えてました。
>ところがマクロを実行してみると、そのマクロボタンのあるシートのセル範囲
>(仮にシート1)が一覧されてしまうのです。
>参照するシート、セル範囲を指定しているのに何故でしょうか??
>Worksheets("RowSource_List").Range("B2:B15").Address
って、シートから指定してるつもりでも、得られる文字列は、「"B2:B15"」
になるので、結局アクティブシートのそのセル範囲が設定されてしまいます。
MsgBox Worksheets("RowSource_List").Range("B2:B15").Address
で何が表示されるか試されたらよくわかると思います。
シート名から指定するんだったら、
RowSource = "Sheet1!a1:a5"
かなあ。
>【Q2】
>cboNumberSeasonのコンボボックスが一覧しません。
>多分、cboNumberSeasonの変数型が整数だからかなと思っていますが、
>Range("E2:E5")は、文字データです。
>それをコンボ有効にするにはどうしたらよいでしょうか。
cboNumberSeasonは、コンボボックスの番号を指してるので関係ないと思いますが・・・
こちらで簡単にテストしてみたけど、問題なかったけどなー
Private Sub Userform_Initialize()
Dim cboNumberYear As Integer
Dim cboNumberSeason As Integer
For cboNumberYear = 1 To 3
UserForm1.Controls("ComboBox" & cboNumberYear).RowSource = "Sheet1!a1:a5"
Next cboNumberYear
For cboNumberSeason = 4 To 6 ’※
UserForm1.Controls("ComboBox" & cboNumberSeason).RowSource = "Sheet1!b1:b5"
Next cboNumberSeason
End Sub
テストするのに適当に変えてますが。。。
※・・の部分ですよね?
ここに設定するデータを文字列にしたけど、問題あらへんかったよ?
ところで、これって、コンボボックス1〜3と、7〜9は、各々同じ値が設定されることになるけど、それはOKなんすか?
ところでその2、引用部分なんやけど、不必要な部分は削除してくれたほうがすっきりしてええと思いまする。
|
|