一次重新设置所有选项按钮

编程入门 行业动态 更新时间:2024-10-25 14:33:37
本文介绍了一次重新设置所有选项按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我已经编写了用于一键重置所有选项按钮的代码,但是它给出了一个错误消息,对象不支持属性或物质".

I have written a code for re-setting all option button on one click but its giving an error, "object doesnt support the property or matter".

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".

Can anyone please suggest me how to fix the code and make the value of all option buttons "false" at one.

我知道如何像这样单独进行操作

I know how to do it individually like:

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

但是由于我有太多的按钮,所以代码会变得很长而且效率很低.

but since I have too many buttons, the code will get really long and inefficient.

感谢您的帮助和时间.

推荐答案

浏览特定工作表上的所有OLEObject,如果它是一个optionbutton,则将其设置为false.

Loop through all the OLEObjects on a particular sheet and if it is an optionbutton then set it to false.

For i = 1 To ActiveSheet.OLEObjects.Count If TypeName(ActiveSheet.OLEObjects(i).Object) = "OptionButton" Then ActiveSheet.OLEObjects(i).Object = False End If Next i

将此代码段嵌入到您的代码中:

Embedding this snippet in your code:

Sub Add_New_Record() With Sheets(1) .Unprotect For i = 1 To .OLEObjects.Count If TypeName(.OLEObjects(i).Object) = "OptionButton" Then .OLEObjects(i).Object = False End If Next i .Protect .Range("Q12").Select End With End Sub

在此处处了解更多有关OLEObjects的信息

Read more about OLEObjects here

更多推荐

一次重新设置所有选项按钮

本文发布于:2023-10-23 22:35:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1522198.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:选项   按钮

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!