Excel 取消选择表单控件列表框中的所有项目
我在电子表格上使用了一个多选列表框(一个表单控件,而不是ActiveX)。我需要一个宏来取消选择列表中的所有项目 据我所知,这应该是可行的:Excel 取消选择表单控件列表框中的所有项目,excel,vba,Excel,Vba,我在电子表格上使用了一个多选列表框(一个表单控件,而不是ActiveX)。我需要一个宏来取消选择列表中的所有项目 据我所知,这应该是可行的: For i = 0 To ActiveSheet.Shapes("List Box 28").ListCount - 1 ActiveSheet.Shapes("List Box 28").Selected(i) = False Next 但前两行告诉我对象不支持此属性或方法。我怀疑此代码仅适用于ActiveX,但我似乎找不
For i = 0 To ActiveSheet.Shapes("List Box 28").ListCount - 1
ActiveSheet.Shapes("List Box 28").Selected(i) = False
Next
但前两行告诉我对象不支持此属性或方法。我怀疑此代码仅适用于ActiveX
,但我似乎找不到用于表单控件的正确代码。尝试一下:
ActiveSheet.Shapes("List Box 28").OLEFormat.Object.ListIndex = 0
必须先调用OLEFormat对象
,然后才能使用列表框属性
此外,为了使循环正常工作,您可以尝试以下操作:
Dim i As Long
Dim lb As ListBox '/* Declare a listbox object */
With ActiveSheet.Shapes("List Box 28")
Set lb = .OLEFormat.Object '/* set to make intellisense kick in */
With lb
For i = 1 To .ListCount '/* indexing starts at 1 and not 0 */
.Selected(i) = False
Next
End With
End With
但是,如果您只是取消选择所有选定项,请使用第一个代码。我刚刚展示了循环,以防它在将来对您和其他人有用处。是否有选择模式或样式之类的东西?也许您需要切换选择模式,以便不选择任何模式