Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 向组合框添加多个范围_Excel_Vba - Fatal编程技术网

Excel 向组合框添加多个范围

Excel 向组合框添加多个范围,excel,vba,Excel,Vba,我有一个组合框,我想添加E1,然后根据一些变量在E2和E13之间添加另一个范围。但实际情况是整个范围都被添加了,E1:E13。代码如下: Sheets("GraphChoice").MonthComboBox.AddList = Sheets("FormInfo").Range("E1", "E" & startmonth + 1 & ":E13") 是否可以向组合框中添加多个范围?请尝试此代码 Sub Test() Dim a, e, r As Range, i As Lon

我有一个组合框,我想添加E1,然后根据一些变量在E2和E13之间添加另一个范围。但实际情况是整个范围都被添加了,E1:E13。代码如下:

Sheets("GraphChoice").MonthComboBox.AddList = Sheets("FormInfo").Range("E1", "E" & startmonth + 1 & ":E13")
是否可以向组合框中添加多个范围?

请尝试此代码

Sub Test()
Dim a, e, r As Range, i As Long
With Sheets("FormInfo")
    Set r = Application.Union(.Range("E1"), .Range("E4:E13"))
    ReDim a(1 To r.Cells.Count)
    For Each e In r
        i = i + 1
        a(i) = e
    Next e
    Sheets("GraphChoice").MonthComboBox.List = a
End With
End Sub

我建议将最终数据加载到一个相邻的区域,并让组合框引用该区域。或者您也可以创建一个动态命名范围并使用它。我尝试了这个方法,但它不起作用
Sheets(“GrafChoice”).MonthComboBox..List=Application.Union(Sheets(“FormInfo”).range(“E1”)、Sheets(“FormInfo”).range(“E4:E13”)
我得到了错误(翻译):“属性矩阵的索引无效”什么类型的组合框:ActiveX控件还是表单控件?我会试试你们的建议,斯科特,看起来会有用的!当然是正确的;参考上面我不知道的
.AddList
方法(?)@亚塞尔哈利勒