【发布时间】: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