我有一个组合框,它的值可以是 A 型或 B 型的东西。对于用户来说,它是哪种类型并不重要,但值来自不同的工作表。
我不能将联合用于不同工作表中的两个范围,所以我不能只将联合分配给行源。
有没有办法在组合框中同时拥有两个范围,而不是将它们放在同一张表中?
由于您使用术语 RowSource,我猜这是用户窗体上的 ComboBox。如果是这样,请改用 .List 属性,如下所示:
Private Sub UserForm_Initialize()
Me.ComboBox1.List = Array(Sheets("Sheet1").Range("A1").Text, Sheets("Sheet2").Range("A1").Text)
End Sub
更具可读性:
Private Sub UserForm_Initialize()
Me.ComboBox1.List = Array(Sheets("Sheet1").Range("A1").Text, _
Sheets("Sheet2").Range("A1").Text)
End Sub
我解决了它遍历范围并分别添加每个项目。
Dim rango1 As Range, rango2 As Range
Set rango1 = Sheets("1").Range("A1:A100")
Set rango2 = Sheets("2").Range("A1:A100")
For Each cell In rango1
ComboBox1.AddItem cell.Text
Next
For Each cell In rango2
ComboBox1.AddItem cell.Text
Next