.AddItem上的VBA不匹配错误

问题描述 投票:0回答:1

尝试打开用户窗体中组合框中的下拉列表时出现不匹配错误

我读过这个:https://msdn.microsoft.com/en-us/library/aa264979(v=vs.60).aspx(不明白。)

得到错误的子

Private Sub FailureComBox_DropButtonClick()

Dim emptyRow As Long, i As Integer

emptyRow = WorksheetFunction.CountA(Sheets("Fel").Range("A:A")) + 1

For i = 2 To emptyRow
    FailureComBox.AddItem Cells(i, "A")
Next i

End Sub

我在行上写了一个不匹配的错误:FailureComBox.AddItem Cells(i, "A")

我的用户表单的完整代码

Private Sub BackCB_Click()

Unload Me
UserForm1.Show

End Sub

Private Sub ExitCB_Click()

Unload Me

End Sub

Private Sub FailureComBox_Change()

FailureComBox.Text = FailureComBox.Value

End Sub

Private Sub FailureComBox_DropButtonClick()

Dim emptyRow As Long, i As Integer

emptyRow = WorksheetFunction.CountA(Sheets("Fel").Range("A:A")) + 1

For i = 2 To emptyRow
    FailureComBox.AddItem Cells(i, "A")
Next i

End Sub

Private Sub OkCB_Click()


Dim emptyRow As Long

emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

If IsDate(DateTB) = False Then
    MsgBox "Var vänlig ange ett korrekt datum"

ElseIf FailureComBox <> "" And StopComBox <> "" Then
    MsgBox "Var vänlig välj bara ett stopp eller fel."

Else

    Cells(emptyRow, 1).Value = DateTB.Value

    If SLD000OB = True Then
        Cells(emptyRow, 2).Value = SLD00OB.Caption

    If SLD00OB = True Then
        Cells(emptyRow, 2).Value = SLD00OB.Caption

    If SLD1OB = True Then
        Cells(emptyRow, 2).Value = SLD1OB.Caption

    If SLD2OB = True Then
        Cells(emptyRow, 2).Value = SLD2OB.Caption

End Sub

提前致谢!

excel-vba combobox userform mismatch vba
1个回答
0
投票
Dim a As String

For i = 3 To emptyRow
    FailureComBox.AddItem a
    a = Sheets("StopFel").Cells(i, "D")
Next i

这为我修好了。显然.AddItem直接设置一个单元格作为其值存在问题。

© www.soinside.com 2019 - 2024. All rights reserved.