我有一个带有6个Activex组合框的用户窗体。
我有以下代码来填充4个activex组合框,以使combobox 2和combobox 4依赖于combobox 1和combobox3。Combobox1和combobox 3使用范围作为行源。
Län2=组合框3 Kommun2 = Combobox4
Private Sub Län2_Change()
Me.Kommun2 = ""
Select Case Me.Län2
Case "Stockholms län"
Me.Kommun2.RowSource = "Stockholms_län"
Case "Västra götalands län"
Me.Kommun2.RowSource = "Västra_götalands_län"
Case "Skåne län"
Me.Kommun2.RowSource = "Skåne_län"
Case "Uppsala län"
Me.Kommun2.RowSource = "Uppsala_län"
Case "Södermanlands län"
Me.Kommun2.RowSource = "Södermanlands_län"
Case "Östergötlands län"
Me.Kommun2.RowSource = "Östergötlands_län"
Case "Jönköpings län"
Me.Kommun2.RowSource = "Jönköpings_län"
Case "Kronobergs län"
Me.Kommun2.RowSource = "Kronobergs_län"
Case "Kalmar län"
Me.Kommun2.RowSource = "Kalmar_län"
Case "Gotlands län"
Me.Kommun2.RowSource = "Gotlands_län"
Case "Blekinge län"
Me.Kommun2.RowSource = "Blekinge_län"
Case "Hallands län"
Me.Kommun2.RowSource = "Hallands_län"
Case "Värmlands län"
Me.Kommun2.RowSource = "Värmlands_län"
Case "Örebro län"
Me.Kommun2.RowSource = "Örebro_län"
Case "Västmanlands län"
Me.Kommun2.RowSource = "Västmanlands_län"
Case "Dalarnas län"
Me.Kommun2.RowSource = "Dalarnas_län"
Case "Gävleborgs län"
Me.Kommun2.RowSource = "Gävleborgs_län"
Case "Västernorrlands län"
Me.Kommun2.RowSource = "Västernorrlands_län"
Case "Jämtlands län"
Me.Kommun2.RowSource = "Jämtlands_län"
Case "Västerbottens län"
Me.Kommun2.RowSource = "Västerbottens_län"
Case "Norrbottens län"
Me.Kommun2.RowSource = "Norrbottens_län"
End Select
End Sub
我想更改此代码以在带有listfillrange的工作表中使用。
但是,我的代码不起作用。
Private Sub Län1_Change()
Dim Stockholm As String, Skåne As String
Stockholm = "Sheet2!B1:B3"
Skåne = "Sheet2!C1:C3"
Select Case Me.Län1.Value
Case "Stockholms län": Me.Kommun1.ListFillRange = Stockholm
Case "Skåne län": Me.Kommun1.ListFillRange = Skåne
End Select
End Sub
如何使用ListFillRange在工作表中而不是在用户表单中为我提供依赖的组合框。 ??
答案 0 :(得分:0)
可以使用Rowsource设置数据源。通过简单地用下划线替换空格,可以用更少的行来实现Län2_Change方法。参见下面的代码。
Private Sub Län2_Change()
Me.Kommun2.RowSource = Replace(Me.Län2, " ", "_")
End Sub
Private Sub Län1_Change()
Dim Stockholm As String, Skåne As String
Stockholm = "Sheet2!B1:B3"
Skåne = "Sheet2!C1:C3"
Select Case Me.Län1.Value
Case "Stockholms län": Me.Kommun1.Rowsource = Stockholm
Case "Skåne län": Me.Kommun1.ListFillRange = Skåne
End Select
End Sub