繁体   English   中英

带有组合框对象名称的数组变量上的“无效限定符”错误

[英]`Invalid Qualifier` error on an Array variable with Combobox object names

我在Cbx_name(i).Clear行中收到Invalid Qualifier错误。 此代码放置在我将使用的单独模块中:在 UserForms 事件上Call Dynamic_cbx 我相信我通过使用表单[UserForm Name].[Combo Box Name]在模块中正确引用了它,但我不确定。

Option Explicit
Sub Dynamic_cbx()
Dim dCell As Range
Dim dict As Scripting.Dictionary
Dim Cbx_count As Long, i As Long
Cbx_count = 8

ReDim Cbx_loop(1 To Cbx_count) As Long, Cbx_name(1 To Cbx_count) As Long

Cbx_loop(1) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("SUPPLIER").Index
Cbx_loop(2) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("FOIL DESCRIPTION").Index
Cbx_loop(3) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("BRAND").Index
Cbx_loop(4) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("COLOR NUMBER").Index
Cbx_loop(5) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("FOIL WIDTH").Index
Cbx_loop(6) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("UOM (Foil Width)").Index
Cbx_loop(7) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("FOIL LENGTH").Index
Cbx_loop(8) = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("UOM (Foil Length)").Index

Cbx_name(1) = frmFoilPanel.cbxSupplier
Cbx_name(2) = frmFoilPanel.cbxFoilDescription
Cbx_name(3) = frmFoilPanel.cbxFoilBrand
Cbx_name(4) = frmFoilPanel.cbxColorNumber
Cbx_name(5) = frmFoilPanel.cbxFoilWidth
Cbx_name(6) = frmFoilPanel.cbxUOMfw
Cbx_name(7) = frmFoilPanel.cbxFoilLength
Cbx_name(8) = frmFoilPanel.cbxUOMfl

For i = 1 To Cbx_count
    Cbx_name(i).Clear
Next i

For i = 1 To Cbx_count
    With dict
        For Each dCell In ThisWorkbook.Worksheets("List_Box").Range(Col_Letter(i) & "2:" & Col_Letter(i) & TotalRowsCount("Foil Purchases.xlsm", "List_Box", "tblFoilInfoHelper"))
            If Not .exists(dCell.Value) Then
                .Add dCell.Value
            End If
        Next dCell
        Cbx_name(i).List = .keys
        Set dict = Nothing
    End With
Next i

End Sub

这是一个数组。 要清空索引处的内容,请执行

Cbx_name(i) = vbNullString

数组索引没有 .Clear 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM