我编写了一个代码,用于一键重置所有选项按钮,但它给出错误,“对象不支持该属性或事项”。
Sub Add_New_Record()
Dim i As Integer
For i = 1 To 30
With Sheets("Form")
'-- unlock the worksheet
.Unprotect
.OptionButton(i).Value = False
'-- lock the worksheet
'.Protect
.Activate
.Range("Q12").Select
End With
Next i
End Sub
任何人都可以建议我如何修复代码并使所有选项按钮的值均为“false”。
我知道如何单独完成,例如:
Sub Add_New_Record()
With Sheets("Form")
'-- unlock the worksheet
.Unprotect
.OptionButton1.Value = False
'-- lock the worksheet
'.Protect
.Activate
.Range("Q12").Select
End With
End Sub
但是由于我有太多按钮,代码会变得非常长且效率低下。
感谢您的帮助和时间。
最佳答案
首先,With
语句应该位于 For
循环之前。它应该是.OptionButtons
。试试这个。
Sub Add_New_Record()
Dim i As Integer
With Sheets("Form")
.Unprotect
For i = 1 To 30
.OptionButtons(i).Value = False
Next i
.Protect
End With
End Sub
关于vba - 一次重新设置所有选项按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691864/