【问题标题】:Why I get error when trying to open the dropdown list in a combobox为什么尝试在组合框中打开下拉列表时出现错误
【发布时间】:2018-08-06 21:39:46
【问题描述】:

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

我读过这个: 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

【问题讨论】:

  • 您的代码非常适合我。没有失败。你什么时候调用这个代码?
  • 当我单击组合框上的下拉箭头以加载添加的项目时。
  • 听起来像是一个损坏的项目、损坏的环境或两者兼而有之。将代码保存到记事本,然后重新启动(冷启动)计算机。如果这不能解决问题,那么从记事本保存重建您的项目
  • 如果你更改For i=3会发生什么?
  • 重启对原始文档有效。现在它正确显示值。谢谢

标签: excel combobox userform mismatch vba


【解决方案1】:
Dim a As String

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

这为我解决了问题。显然.AddItem 在将单元格直接设置为其值时遇到了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 2021-09-08
    • 2014-05-01
    • 2016-09-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多