我需要向EXCEL VBA中正在处理的用户表单添加一个Reset按钮。我有以下代码可以完成大部分工作,但是,我还没有弄清楚如何清除refedit控件。这是我到目前为止有:excel vba清除用户表单中的所有refedit控件
===
'Reset Button
Private Sub CommandButton2_Click()
For Each ctrl In Me.Controls
Select Case TypeName(ctrl)
Case "TextBox"
ctrl.Text = ""
Case "ComboBox"
ctrl.ListIndex = -1
Case "OptionButton", "CheckBox"
ctrl.Value = False
Case "ListBox"
For i = 0 To ctrl.ListCount - 1
If ctrl.Selected(i) Then
ctrl.Selected(i) = False
End If
Next i
End Select
Next
End Sub
===
这适用于文本框,复选框,等我曾尝试加入2个不同的代码片段,以这种sub清除refedit控件。
1:
For i = 0 To crtl.RefEdit - 1
ctrl.Selected(i) = vbNullString
Next i
===
2:
Case "RefEdit"
ctrl.RefEdit = vbNullString
===
无论如所期望的工作原理。任何建议表示赞赏!
感谢,
丹
是否'ListBox'情况工作,与格式? (我从来没有见过这样的) – BruceWayne
@BruceWayne它会的,是的。这种格式不是必需的,只是个人偏好。 – tigeravatar