将Excel VBA命令与变量一起使用

天空突袭者

我正在尝试重用一些代码,从而使控件在调用函数时获得不同的结果。问题似乎是要获取对我要更新的不同控件的引用。

Function populate(num1, num2)

Dim index As Integer
index = ComboBox1.ListIndex

ComboBox2.Clear

Select Case index
    Case Is = 0
        With ComboBox2
            ComboBox2.List = Worksheets("Sheet1").Range("A1:A10").Value
        End With
    Case Is = 1
        With ComboBox2
            ComboBox2.List = Worksheets("Sheet2").Range("A1:A10").Value
        End With
    Case Is = 2
        With ComboBox2
            ComboBox2.List = Worksheets("Sheet3").Range("A1:A10").Value
        End With
End Select

End Function

Private Sub ComboBox1_Change()
Call populate(1, 2)
End Sub

Private Sub ComboBox3_Change()
Call populate(3, 4)
End Sub

Private Sub ComboBox5_Change()
Call populate(5, 6)
End Sub

自然,对于我调用的每个组合框(奇数),它应该更新第二个组合框(偶数)的值。但是我不想将代码复制到每个奇数组合框,而是希望有某种类型的代码实际上可以被函数调用重用,如上所示。

不幸的是,我不确定如何在VBA中实现该功能。不用说,我希望它是这样的(不起作用):

Function populate(num1, num2)

Dim index As Integer
index = ComboBox + num1 + .ListIndex

ComboBox + num1 + .Clear

Select Case index
    Case Is = 0
        With ComboBox + num2
            ComboBox + num2 + .List = Worksheets("Sheet1").Range("A1:A10").Value
        End With
    Case Is = 1
        With ComboBox + num2
            ComboBox + num2 + .List = Worksheets("Sheet2").Range("A1:A10").Value
        End With
    Case Is = 2
        With ComboBox + num2
            ComboBox + num2 + .List = Worksheets("Sheet3").Range("A1:A10").Value
        End With
End Select

End Function

还看了一个可能重复的问题,很难解决我的问题。实际上,即使该主题看起来很复杂,我也不认为是问题所在。我试图将部分命令和变量结合起来以创建我要使用的命令,而可能的重复项似乎需要一些稍有不同的内容……我可能是错的,但这对我来说就是这样。

YowE3K

不要将数字传递给populate子例程,而要传递要处理的ComboBox:

Sub populate(cb1 As ComboBox, cb2 As ComboBox)
    Dim index As Integer
    index = cb1.ListIndex

    With cb2
        .Clear

        Select Case index
            Case 0
                .List = Worksheets("Sheet1").Range("A1:A10").Value
            Case 1
                .List = Worksheets("Sheet2").Range("A1:A10").Value
            Case 2
                .List = Worksheets("Sheet3").Range("A1:A10").Value
        End Select
    End With
End Sub

Private Sub ComboBox1_Change()
    populate ComboBox1, ComboBox2
End Sub

Private Sub ComboBox3_Change()
    populate ComboBox3, ComboBox4
End Sub

Private Sub ComboBox5_Change()
    populate ComboBox5, ComboBox6
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将sed命令与变量一起使用

来自分类Dev

将rm命令与变量一起使用的危险

来自分类Dev

将sed命令与变量一起使用

来自分类Dev

如何将find命令与变量一起使用

来自分类Dev

Excel VBA:将.formula与动态范围一起使用

来自分类Dev

将“ -Filter”与变量一起使用

来自分类Dev

将NameOf与变量一起使用

来自分类Dev

将getJSON与变量一起使用

来自分类Dev

如何将反斜杠命令与两个以上变量一起使用?

来自分类Dev

如何将反斜杠命令与两个以上的变量一起使用?

来自分类Dev

如何将DATE命令与外部变量一起使用?

来自分类Dev

如何将读命令与问题和变量一起使用?

来自分类Dev

将VBA范围命令与其他工作表中的ActiveX按钮一起使用

来自分类Dev

将find命令与-cnewer测试一起使用

来自分类Dev

将mv命令与多个通配符一起使用

来自分类Dev

SQL将sum命令与“ in”子句一起使用

来自分类Dev

将命令gcc与execlp一起使用

来自分类Dev

将Ping命令与VLAN IP一起使用

来自分类Dev

将watch命令与包含引号的参数一起使用

来自分类Dev

AutoCad NET将EntLast与异步命令一起使用

来自分类Dev

将tr命令与字符范围一起使用

来自分类Dev

如何将 \addtogroup 与 ALIASES 命令一起使用?

来自分类Dev

Range.find无法与Excel VBA一起使用

来自分类Dev

如何将“ RAD Studio命令提示符”与环境变量一起使用?

来自分类Dev

将 /bin/bash -l -c 与串联命令一起使用不会传递环境变量

来自分类Dev

如何将MySQL REPLACE与变量一起使用?

来自分类常见问题

将Q对象与变量一起使用

来自分类Dev

将统计信息与变量一起使用

来自分类Dev

将VueJS与PHP变量一起使用

Related 相关文章

热门标签

归档