使 vba 代码适用于所有盒子

2024-03-12

您好,所以我想做的是使此代码适用于所有复选框的 1-50 我希望代码仅影响单击的框。

Private Sub CheckBox1_Click()
If MsgBox("Do you want to lock this box?", vbYesNo, "Warning") = vbYes Then
  ActiveSheet.CheckBox2.Enabled = False
Else
End If
End Sub

我看到几个选项(没有一个很漂亮,因为这是 VBA)。

  • Option 1:为所有复选框生成代码。这可能是最容易维护的。您首先要为所有复选框选择合理的名称(您可以通过在 Excel 中选择它们并在左上角重命名来分配它们,或者如果您已经有很多复选框,则运行将为您执行此操作的代码。This https://stackoverflow.com/questions/10641683/change-name-of-activex-command-button-using-vba-in-excel可能有用)。

    然后,您可以生成代码并让每个子过程如下:

    'example code for one checkbox
    Private Sub chkBox_1_Click()
        Call lockMeUp(Sheet1.chkBox_1.Object)
    End Sub
    

    完成每个复选框的所有代码后,您可以拥有lockMeUp子程序如下:

    Sub lockMeUp(chkBox as Object)
        If MsgBox("Do you want to lock this box?", vbYesNo, "Warning") = vbYes Then
            chkBox.Enabled = False
        End If
    End Sub
    
  • Option 2:通过数组或“设置”隐藏表跟踪所有选中/未选中状态,并留意触发的事件。您可以根据工作表的Changed事件,并将行号与您的复选框号相匹配,以便您可以离开Target的行号。

我能想到的其他选择变得更加复杂......我有兴趣看看人们有什么其他建议。谢谢!

EDIT您可以使用一些代码来引用单个函数(如我的示例中所示),并结合 brettdj 的示例来获得最佳解决方案。嘭!

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

使 vba 代码适用于所有盒子 的相关文章

随机推荐

  • 为什么我请求 ACCESS_MEDIA_LOCATION 权限时没有显示权限框?

    我正在尝试实现 Android 10 的 ACCESS MEDIA LOCATION 权限 以便访问照片的位置 首先 应用程序请求 READ EXTERNAL STORAGE 权限 以便使用 MediaStore 访问照片 然后应用程序使用
  • 更改序列的起始值 - Postgresql

    我在序列号方面遇到了一个小问题 从一个文件中 我填充了我的数据库 其中有一个客户端ID 它是一个序列号 并且是我的主键 我有 300 个客户端 因此有 300 个客户端 ID 1 到 300 现在我的问题是 我有一个新客户的表单 我无法添加
  • 如何使用包名来区分grails中的类?

    可以使用包名称来区分 grails 中的类吗 例如com business appName DomainClass 和 com business appName foo DomainClass 我认为这会导致问题 因为 grails 需要唯
  • 将我的自定义函数应用于数据框 python

    我有一个数据框 其中有一列称为 信号 我想向该数据框添加一个新列并应用我构建的自定义函数 我对此很陌生 在将我从数据框列中获取的值传递到函数中时 我似乎遇到了麻烦 因此任何有关我的语法错误或推理的帮助将不胜感激 Signal 3 98 3
  • 在CSS中生成对角线(条纹)

    我想知道是否可以在 css 或 svg 中生成对角线来覆盖 div 从而允许 div 的背景颜色显示出来 像下面这样的东西 如果有人有一个例子会很有帮助 你可以试试 HTML div class deg45 stripes TEST div
  • 在 PHP 中使用 session_name() - 无法访问数据

    当我使用时 session name fObj session start SESSION foo bar 随后加载页面并运行 session start print r SESSION 不返回会话数据 如果我删除 session name
  • 是否有办法在 google play 上检查设备兼容性而无需上传

    将 Android 应用程序上传到市场时 Google Play 根据您的应用程序清单设置确定兼容设备列表 例如 使用许可 使用功能 uses sdk 支持屏幕 到目前为止 我发现我必须调整我的清单 以便只有在将我的应用程序上传到 Goog
  • Android 开发人员:TimerTask 和手机睡眠可能有些奇怪?

    我已经编写了我的第二个 Android 应用程序 该应用程序根据特定的时间表 仅截至目前的日期和时间 切换音频配置文件 如果我通过 eclipse 使用模拟器运行代码 代码可以正常工作 但是我最近导出了 apk 并将其安装在我的 At t
  • 无法加速像素修改的 BufferedImages

    很长一段时间 1 2个月 我一直在试图找到这个特定问题的答案 我无法让我的图像硬件加速 我一直在网上搜索 创建了自己的方法 用键盘敲击我的头 仍然感到疼痛 但没有成功 尽管我讨厌 Java SDK 以外的库 但我尝试了 LWJGL 和 JO
  • Pandas 通过 groupby 分组到列表列表

    给定一个结构如下的数据框 rule id ordering sequence id 1 0 12 1 1 13 1 1 14 2 0 1 2 1 2 2 2 12 我需要将其转换为 rule id sequences 1 12 13 14
  • 如何检测VBA excel是否发现了什么?

    我在宏中使用它来查找工作表中的内容 Selection Find What email After ActiveCell LookIn xlFormulas LookAt xlPart SearchOrder xlByRows Search
  • 使用opencv进行虹膜检测

    如何用opencv检测人脸上的虹膜 看看这个论坛主题 http social msdn microsoft com Forums en winformsdesigner thread 56a938de e065 4e61 b513 4104
  • 在 WPF 中使用 EF Code First 和 SqlCe

    我正在尝试将 EF Code First 与我的 WPF 应用程序一起使用 其想法是在 AppData MyApp 中创建一个 SqlCe Db 如果没有 并将其与 EF Code First 一起使用 目前 当我尝试从它应该创建的数据库中
  • 我如何使用 zend Framework 1.11 中的表单在复选框中设置数据库中的数据

    我有一个表名称是task master 我想在 zend 中动态地将所有记录设置到复选框中 我看到了很多例子 但没有找到任何解决办法 监工 id name br 1 Index br 2 Add br 3 Edit br 4 delete
  • 控制 Linux 嵌入式应用程序的启动屏幕

    在嵌入式编程中 通常需要用一些自定义的 加载 动画或从开机到启动并运行的启动屏幕来替换默认的 Linux 启动输出 达到这个目的的方法是什么 有没有办法在整个启动序列中使用相同的 进程 如何解决这个问题 我猜我们需要一个自制内核来实现这一点
  • 将 virtualenv 从 3.5.3 降级到 2.7

    我的 virtualenv 当前配置为 python 3 5 0 而我需要使用的包仅支持 2 7 我需要一种在 virtualenv 中将 python 运行时降级到 2 7 的方法 我确实有两个版本可供使用 第一个是在我的 virtual
  • Windows 批处理脚本中的文件/文件夹选择器对话框

    在运行时才知道输入文件位置的情况下 使用 GUI 进行文件选择输入可以减少用户出错的可能性 有没有办法从 Windows 批处理脚本调用文件 文件夹选择器对话框 文件浏览器 2016 3 20更新 由于 PowerShell 是当今所有现代
  • OM\Db::query(string $statement) 的声明必须与 PDO::query 兼容

    我刚刚安装了 PHP 8 却出现此错误 我如何解决它 致命错误 OM Db query string statement 的声明必须与 home www includes 中的 PDO query string query int fetc
  • 使用 INDIRECT 函数的条件格式对于布尔 AND 或 OR 或包含公式的单元格失败

    我有以下函数来检查列是否L包含 完成 一词 我使用INDIRECT能够使用条件格式为整行着色 INDIRECT l ROW completed 这个功能有效 但是 我需要扩展它 我也想使用基于额外单元格的条件格式 所以我尝试了以下方法 AN
  • 使 vba 代码适用于所有盒子

    您好 所以我想做的是使此代码适用于所有复选框的 1 50 我希望代码仅影响单击的框 Private Sub CheckBox1 Click If MsgBox Do you want to lock this box vbYesNo War