我有6个依赖的ComboBox,当它旁边的单元格变成空白时,我希望将其重置为空白。只要在值上设置主列表,代码就可以正常工作。但是,如果主组合框设置为其默认值,这使得依赖框没有值可供选择,代码给了我:
运行时错误308:无法设置ListIndex属性。无效的属性值。
此外,首次打开工作表时,我无法在要检查""
值的单元格中输入任何内容。
我尝试用另一个If语句包装代码,但我必须做错了,因为代码似乎仍在运行。
有人可以看看并告诉我你是否能看到问题吗?
提前致谢
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If cboShiftsList.Object.ListIndex > -1 Then
If Range("I15") = "" Then
cboDependentShiftList.Object.ListIndex = 0
End If
If Range("I16") = "" Then
cboDependentShiftList1.Object.ListIndex = 0
End If
If Range("I17") = "" Then
cboDependentShiftList2.Object.ListIndex = 0
End If
If Range("I18") = "" Then
cboDependentShiftList3.Object.ListIndex = 0
End If
If Range("I19") = "" Then
cboDependentShiftList4.Object.ListIndex = 0
End If
If Range("I20") = "" Then
cboDependentShiftList5.Object.ListIndex = 0
End If
End If
End Sub
我在Workbook_Open
事件中有这段代码:
'Populate combo box with Shifts categories.
Dim rng As Range
Dim ws As Worksheet
Set ws = Worksheets("Staff Page")
Worksheets("Staff Page").cboShiftsList.Clear
For Each rng In ws.Range("ShiftSelectList")
Worksheets("Staff Page").cboShiftsList.AddItem rng.Value
Worksheets("Staff Page").cboShiftsList.Object.ListIndex = 0
Next rng
如果有人想看一下,这是该文件的链接。我觉得我没有足够的分享这个问题,也许看到该文件会有所帮助。再次感谢!
答案 0 :(得分:0)
解决!!
我能够使用@ A.S.H中的建议并更改了我在主组合框中检查的值,现在它完美无缺。
谢谢@ A.S.H!
这是最终代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If cboShiftsList.Object.ListIndex > 0 Then
If Range("I15") = "" Then
cboDependentShiftList.Object.ListIndex = -1
End If
If Range("I16") = "" Then
cboDependentShiftList1.Object.ListIndex = -1
End If
If Range("I17") = "" Then
cboDependentShiftList2.Object.ListIndex = -1
End If
If Range("I18") = "" Then
cboDependentShiftList3.Object.ListIndex = -1
End If
If Range("I19") = "" Then
cboDependentShiftList4.Object.ListIndex = -1
End If
If Range("I20") = "" Then
cboDependentShiftList5.Object.ListIndex = -1
End If
End If
End Sub