检测 VBA 中是否选择了表单控件选项按钮

2023-12-19

我有一个使用 ActiveX 选项按钮可以正常工作的代码。但是,我希望宏也能在 Mac 上运行,因此我尝试用表单控件替换 ActiveX 控件。使用 ActiveX,为了检查是否选择了两个选项按钮之一,我所要做的就是:

    Sub OptionButton1_Click
    If OptionButton1.Value = true then
        (action...)
    End if
    End sub

我一直在尝试在 Google 上找到表单控件的等效项,但每次我都会得到:

对象所需错误

非常感谢您的回答@L42 和@Sai Nishank!现在,如果我想检查 OptionButton_Click 是否来自其他组的选项按钮为 true ,该怎么办?我尝试了此语法,但收到错误消息:“编译错误方法或数据未找到”

    Sub USDButton_Click()
    MsgBox "USD"
    If Sheet1.BTUButton = True Then
    (action1)
    End If
     If Sheet1.kWhButton = True Then
    (action2)
     End If

我不确定 BTUButton 是否是按钮的正确名称,但我不知道在哪里检查,表单控件没有像 ActiveX 那样方便的“右键单击 > 属性”


如果您使用的是Form Control,你可以获得与ActiveX通过使用OLEFormat.Object的财产Shape Object。最好将其分配到声明为的变量中选项按钮得到智能感知起作用。

Dim opt As OptionButton

With Sheets("Sheet1") ' Try to be always explicit
    Set opt = .Shapes("Option Button 1").OLEFormat.Object ' Form Control
    Debug.Pring opt.Value ' returns 1 (true) or -4146 (false)
End With

但话又说回来,你真的不需要知道它的价值。
如果你使用Form Control,你关联一个Macro或子例程,当它被选择时执行。因此,您只需要设置一个子例程来识别单击了哪个按钮,然后为其执行相应的操作。

例如你有 2Form Control选项按钮。

Sub CheckOptions()
    Select Case Application.Caller
    Case "Option Button 1"
    ' Action for option button 1
    Case "Option Button 2"
    ' Action for option button 2
    End Select
End Sub

在上面的代码中,只有一个子例程分配给两个选项按钮。
然后你通过检查来测试哪个调用了子例程Application.Caller.
这样,无需检查选项按钮值是 true 还是 false。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测 VBA 中是否选择了表单控件选项按钮 的相关文章

随机推荐

  • 使用 Kendo UI 数据源的授权标头拦截器

    我正在使用 Web api 并限制 Web api 通过令牌进行身份验证 因此为了填充数据源 我在数据源中使用请求标头 var abcDatasource new kendo data DataSource transport read u
  • .animate() - 旧版 jquery 版本 (Drupal) 冲突的队列模拟

    我正在寻找一个解决方案来推出 jquery 版本 Drupal 本身就包含该版本 它是旧版本 实际上没有任何问题 但有一个 D 我使用队列为 false 的 animate 函数 并且没有此属性 因为此属性在 jquery 1 7 中添加到
  • NSJSONSerialization 拆箱 NSNumber?

    我在用着NSJSONSerialization转动一个JSON将文档转换为核心基础类型 我的领域里有一个JSON这是一个 数字 有时是整数 有时是浮点数 现在 问题是何时NSJSONSerialization变成我的JSON进入一个NSDi
  • Git:存储但不拉取较少的文件

    我最近开始使用 LESS 当我对 Jenkins 和 Grunt 等自动化构建器进行一些研究时 似乎一个常见的建议是不要将 LESS 文件存储在存储库上 或者不要将它们放在实时服务器上 只是编译的 CSS 所以我希望能得到一些关于这方面的建
  • 使用 Javascript 更改页面

    我构建了一个 Phonegap 应用程序 我有 7 8 个页面 我需要使用 Javascript 在它们之间导航 我尝试过使用window open and window location但那些不起作用 如何使用 Javascript 更改
  • Intellisense 将 .c 文件视为 .cpp

    我正在使用 VS2010 进行 C 项目 我不断收到 Intellisense 错误IntelliSense a value of type void cannot be assigned to an entity of type Blah
  • 在 Eclipse“运行方式 -> Android 应用程序”构建中包含 Maven 依赖项

    我使用eclipse开发一个Android应用程序 Android 开发工具 ADT 插件 http developer android com guide developing eclipse adt html和maven android
  • 在 C# 中向通用列表的 FindAll 添加参数

    我有一个要通过整数参数过滤的对象列表 List
  • 如何更改引导导航菜单颜色?

    我想更改 主页 旋转 社交媒体 的颜色 但不知道如何更改 我花了几天时间弄清楚如何更改导航背景 但对颜色一无所知 因为我只想将灰色更改为白色并更改悬停颜色 我可以将颜色更改为白色 但悬停颜色将被忽略 有没有一种预期的方法来做到这一点 这是我
  • 如果条件失败,Laravel 会从模型中抛出错误

    我正在模型中进行所有验证 我的规则是 public static rules array VehicleNumber gt required unique vehicle NumberSeats gt required VehicleTyp
  • 使用 AVMutableVideoComposition 导出时出现视频方向问题

    这是我用来导出视频的功能 void videoOutput 1 Early exit if there s no video file selected if self videoAsset UIAlertView alert UIAler
  • 声纳 C# 生态系统:fxcop 错误代码 521

    在构建 NET C 解决方案时 有以下日志 fxcop 配置中的详细开关 当单独执行 fxcopcmd exe 命令时 它工作得很好 为什么它不能与 sonar runner bat 一起使用 15 Sep 2011 03 05 37 DE
  • Pandas unstack 不起作用

    最初 我的 DF 包含 1 列使用 DatetimeIndex 索引的操作 In 371 dates 2013 12 29 19 21 00 action1 2013 12 29 19 21 01 action2 2013 12 29 19
  • MySQL PHP - 选择哪里 id = array()? [复制]

    这个问题在这里已经有答案了 可能的重复 MySQL 使用数组进行查询 https stackoverflow com questions 1101662 mysql query using an array 将数组传递给 mysql htt
  • 如何将 ActiveX 与 ASP.NET 结合使用

    我创建了一个 ActiveX 组件 但无法在 ASP NET 中访问该 ActiveX 组件 使用 JavaScript 创建 ActiveX 对象时 它给出 Microsoft JScript 运行时错误 自动化服务器无法创建对象 错误消
  • Android - 在视图页面中的不同片段之间导航时隐藏的 FAB

    我正在尝试做一些非常简单的事情 我希望 FAB 仅出现在 TabLayout 中的一个选项卡上 并在导航到另一选项卡时隐藏 例如 一个选项卡允许您在 FAB 中添加新项目 但下一个选项卡不允许您添加项目 我遵循 典型 XML 设计布局
  • 为什么*这个*不是*这个*?

    我刚刚编写了这段代码来表示这个正在杀死我的错误 Grrr 我想知道为什么当我得到错误 方法未定义我已经在 Safari 中检查过 parserDidStart 方法中的这个变量不是 EpisodeController 类型 而是 Episo
  • HTML 文件中的 javascript 调试

    如何在 javascript 函数的 HTML 页面中放置断点 以便在执行行时查看变量的值 这样做最简单的方法是什么 thanks 使用关键字 调试器 尝试调用硬断点 只要你的浏览器有JavaScript 调试启用 然后调试器 语句将告诉它
  • Spring Boot 设置 SSL 连接时出错

    我正在尝试将 Spring Boot 应用程序连接到 PostGresql 数据库 但每次我得到error in setting up SSL connection error My application properties文件如下 s
  • 检测 VBA 中是否选择了表单控件选项按钮

    我有一个使用 ActiveX 选项按钮可以正常工作的代码 但是 我希望宏也能在 Mac 上运行 因此我尝试用表单控件替换 ActiveX 控件 使用 ActiveX 为了检查是否选择了两个选项按钮之一 我所要做的就是 Sub OptionB