我可以有一个来自两个不同的工作表范围combobox的行源?


我有一个combobox,其值可以是一个typesA或typesB的东西。 对于用户来说,input数据并不重要,但数值来自不同的表单。

我不能在不同的工作表中使用两个范围的联盟,所以我不能仅仅联合使用联盟来处理rowsource。

有没有一种方法在combobox中有两个范围,而不在同一张表中?

由于您使用的术语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