当单元格更改时,VBA 运行宏,但如果通过宏则不运行

2024-01-08

好吧,我不确定这是否容易实现,但我会尝试。

如果单元格发生更改,我使用此子程序来执行一些宏:

Private Sub Worksheet_Calculate()
Dim target As Range
Set target = Range("b4")
If Not Intersect(target, Range("b4")) Is Nothing Then
Call init
End If
End Sub

这工作正常,但我有一点问题。

细胞B4正如上面的单元格更改子部分中所引用的,其值由动态的命名范围确定,并包含另一张工作表上的值列表。我使用数据验证工具来制作B4包含指定范围内容的下拉列表。

我有另一个宏,其目的是更新此列表。它的作用是清除当前列表,查询数据库并将一堆值输出到范围内。问题是,当这个宏运行时,它会导致B4改变(如B4参考范围内的值)。这反过来又导致我的“单元格更改”宏运行并抛出错误。

有没有办法在我更新它引用的列表时阻止“单元格更改”宏运行?

希望这个问题有意义。


您可以禁用Worksheet_Calculate事件通过使用Application.EnableEvents如下。请注意,这将禁用任何WorkSheet or WorkBook其间可能发生的事件Application.EnableEvents = False and Application.EnableEvents = True

所以如果你的另一个子程序像这样运行 -Worksheet_Calculate事件不会触发

Sub Other_Sub()
Application.EnableEvents = False
[b4].Value = "10"
'other stuff
Application.EnableEvents = True
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当单元格更改时,VBA 运行宏,但如果通过宏则不运行 的相关文章

  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 如果 Excel 中的表格包含单元格引用,如何对其进行排序?

    我在工作表 1 中有一个 Excel 数据表 它引用了许多其他工作表中的各种不同单元格 当我尝试对工作表进行排序或过滤时 引用会随着单元格的移动而发生变化 但是 我不想手动进入每个单元格并在各处插入 符号 因为有些引用是连续的 我可能想稍后
  • VBA Excel:将范围值分配给新范围

    我在将一个工作簿范围中的值分配给当前工作簿中的某个范围时遇到问题 当我使用 Range A1 C1 分配我的范围时 此代码工作正常 但是当我使用 Range Cells 1 1 Cells 1 3 定义我的范围时 该函数会失败 Sub Co
  • Excel 2010 在 IF 函数中搜索文本 - 单独的单元格数据

    Program Excel 2010 Require 一种将名字 姓氏 电子邮件提取到各个单元格的方法 Data 我的数据有一个包含原始 脏数据 的表 它是原始的并且一团糟 我用一个简单的方法整理它 IF A7 Order 1 然后其余单元
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之
  • Access / Word 2010 VBA 邮件合并尝试打开 [文件夹名称].mdb 而不是 ACCDB 源

    我们正在尝试从 Access 中自动执行邮件合并过程 单击按钮后 VBA 将运行指定当前数据库 accdb 作为数据源并运行 SQL 具体代码如下 Set up Word Dim objWord As Object Set objWord
  • 在 Excel 中打开文件而不重新计算 NOW()

    在 Excel 2010 2011 和 2013 尝试了所有三个 中 以只读方式打开文件仍然会重新计算 NOW 有没有办法让excel在打开文件时不重新计算 最简单的方法是将自动 默认 计算选项切换为手动 update 首先打开一个空白的新
  • 在用户窗体终止/关闭 VBA 时调用数组

    我有一个问题 我想在用户窗体关闭时将用户窗体的内容存储在数组中 我认为我的语法正确 但似乎不会在用户窗体初始化时重新填充 我尝试将数组放入其自己的模块中 但这也不起作用 有人愿意启发我吗 示例代码 Public Sub DPArrayStu
  • 如何使用Excel的墨迹工具添加手写签名?

    我想在我公司的一些表格中添加手写数字签名 目标是选择一个文档 添加签名 通过使用绘图板 这可以使用 Excel 的墨水工具完成 并将文件作为 PDF 存储在服务器中 这将消除打印然后扫描表格以获得签名的必要性 我使用 Excel 作为文件操
  • 将 Excel 数字日期重新格式化为 R 日期

    希望将从 Excel 中提取的列重新格式化为包含数字 Excel 格式 例如 40182 的数据框 as date 40182 origin 1899 12 30 format b Y Returns 1 2070 年 1 月 5 日 我正
  • 在单元格中查找以逗号分隔的多个值并返回以逗号分隔的多个值

    如果有人可以帮忙的话 我们将此表称为 1 我想在此处执行查找 可以将工作表 2 中 B 列的值引入工作表 1 中的 B 列 返回的多个值也应该用逗号分隔 我在这里尝试使用 textjoin 公式 但它搞砸的地方是 例如它将 A12 计为 A
  • 打开特定工作表上的 Excel 文件

    我有一个包含 5 个工作表的 Excel 文件 我想用 C 代码打开它 当它打开时 我希望激活第 3 页 我怎样才能做到这一点 像这样 using Excel Excel Application excelApp new Excel App
  • 绘制持续时间图表

    从我在写这篇文章之前所做的阅读中 我相当确定我需要创建甘特图 但我不知道这是否是正确的路线 需要将开始时间和结束时间的数据作为一个单位绘制在 Excel 图表上 Y 轴为日期 X 轴为一天中的小时 开始时间和结束时间的格式是 Excel 数
  • VBA复制单元格值和格式

    我如何修改以下代码以便不仅复制值而且复制字体样式 例如大胆或不大胆 谢谢 Private Sub CommandButton1 Click Dim i As Integer Dim a As Integer a 15 For i 11 To
  • 如何将工作表和范围作为变量传递?

    我想在子例程之间传递工作表的名称和范围 以下抛出 下标超出范围 错误 Sub This x Sheet1 y D3 MsgBox x Range y Value End Sub This is 我的项目资源管理器的示例 https i st
  • VBA FreeLibrary 不卸载 DLL

    当我使用完一个 DLL 文件后 我需要删除它 代码完成后清理 我尝试在 Excel VBA 中使用 LoadLibrary 和 FreeLibrary 但无论我做什么 Excel exe 都会坚持 DLL 文件 Public Declare
  • 自动电子邮件生成无法解析多个收件人

    我有一个 VBA 脚本 可以创建并保存草稿电子邮件 为了添加收件人 它从链接的 Excel 表中提取一个字符串并将其添加到 Recipients 对象中 对于只有单一收件人的电子邮件 这就像一个魅力 用户所需要做的就是打开草稿 花 5 秒钟
  • Excel:COUNTIF 函数将“小于”字符视为运算符

    预读说明 我使用的是 LibreOffice 而不是 Excel 但大多数功能应该适用于两者 我正在制作一个电子表格 其中有大量数据 对于每个属性 例如员工数量或姓名 我需要一个函数来计算包含每个不同值的行数 我已经提取了不同的值 现在我使
  • 两个数组相乘 - 区域小数分隔符问题

    Background 刚才 我回答了一个问题 我必须将两个相同大小的数组相乘 但是我注意到我的本地小数分隔符存在一个特殊问题 Sample Code Sub Sample Dim arr1 As Variant arr2 As Varian
  • 如果不是,则必须删除单元格的第一个字符 #3Created 循环永远不会结束

    所以基本上 我需要删除主键字段中第二位数字不为 3 的所有记录 例如可以如下所示 39001 或者没有 3 我想要的是所有以非 3 开头的单元格 它们的行都被删除我想出了以下代码 它删除了所有单元格 但宏永远不会停止运行 Sub keep3

随机推荐

  • 将逗号分隔的浮点数字符串转换为列表?

    我需要定义一个函数txtnum L 需要一串逗号分隔的浮点数 例如 1 5 2 5 3 5 作为参数并将其转换为列表 1 5 2 5 3 5 我尝试过使用 split join map 等 并且无法获取任何内容来返回不包含引号的列表 我对
  • 如何将 GPS 观察器移至 App.xaml 超类并将事件调度至其他页面/类?

    我是 silverlight WPF 和 WP7 开发新手 但我熟悉使用控制台或 Windows 窗体开发 C 所以请耐心等待 我正在尝试使用 Silverlight SDK 和 Microsoft Maps MapControl 以及 S
  • 如何将 recyclerView 中的前 4 项设置为可见性消失?

    实际上 我有一个菜单 可以在 recyclerView 中添加 MainActivity 按钮 在该菜单中我显示所有添加的按钮 以便可以删除所选按钮 但是我有 4 个该 recyclerView 的第一个项目应该是默认的 所以没有人应该触摸
  • DataGridView右键菜单/复制示例?

    我的表单上有一个 DataGridView dgv1 在特定的单元格中 我希望用户能够右键单击并选择 复制 以将单元格的内容复制到剪贴板 任何人都可以向我指出一个教程或网站的方向 展示如何在 C 中完成此任务吗 Thanks 您可以使用 C
  • bookdown 中的代码折叠

    RMarkdown 中用于 html 文档的代码折叠选项非常棒 该选项使编程方法对于感兴趣的人来说是透明的 而无需强迫观众滚动浏览数英里的代码 代码与散文和交互式图形输出的紧密放置使得整个项目更容易被更广泛的受众所理解 此外 它还减少了对额
  • 优化构造函数调用次数

    在工作中 我们有一个带有昂贵构造函数的类 因此我们希望调用它的次数尽可能少 我们研究了它的用途 并尝试使代码对 RVO 更加友好 然而 我们在 g 编译器中发现了一个怪癖 我们不明白发生了什么 请考虑operator 的两种实现 const
  • 单元测试静态类

    设想 语言C 使用VS2008单元测试框架进行单元测试 我有一个带有静态构造函数和 2 个方法的静态类 我编写了 4 个测试方法来测试整个班级 我的静态构造函数有一些重要的初始化 现在 如果我同时运行所有 4 个单元测试用例 静态构造函数将
  • 约束布局中的背景图像不起作用

    我希望我的应用程序在后台使用图像来进行注册和登录功能 我正在使用 android studio 2 3 到目前为止我可以看到自去年以来很多事情都发生了变化 我们现在使用相对或线性布局的地方就是约束布局 我包含了根布局的代码如下 androi
  • 由于 java.lang.IllegalArgumentException,应用程序在启动时崩溃:列“_id”不存在

    每当我启动我的应用程序时 我都会得到一个java lang IllegalArgumentException column id does not exist我的 LogCat 中出现错误 我已经创建了专栏 id 但它仍然抛出这个 这是我的
  • 零或一到零或一的关系

    有没有办法创建一个0 or 1 to 0 or 1数据库中的关系 例如 假设我有一张经理表和一张艺术家表 经纪人只能管理一名艺人 艺人也只能拥有一名经纪人 然而 经理人可以没有艺人 即寻找艺人来管理 而艺人也可能没有经理人 有什么办法可以做
  • 如何在 Facelets 的 EL 布尔表达式中使用 && ?

    我在弄清楚如何在 Facelets 中的 EL 表达式上执行和操作时遇到了一些麻烦 所以基本上我有
  • 如何在 asp.net MVC 中生成下载文件的链接?

    我正在测试轻而易举报告 http www codeplex com doddlereport从 IEnumerable 对象生成一些报告 我需要生成这样的链接 PDF http myserver com reports ProductsRe
  • ipc:// 上的 ZeroMQ REQ/REP 和并发性

    我使用 REQ REP 0MQ ipc 套接字实现了一个 JSON RPC 服务器 我遇到了奇怪的行为 我怀疑这是由于 ipc 底层 unix 套接字不是真正的套接字 而是一个事实一根管子 根据文档 必须强制执行严格的 zmq send z
  • 使用 Python 将 PDF 转换为一系列图像

    我正在尝试使用 Python 将多页 PDF 转换为一系列 JPEG 我可以使用可用的工具轻松地将 PDF 拆分为单独的页面 但我还没有找到任何可以将 PDF 转换为图像的工具 PIL 不起作用 因为它无法读取 PDF 我发现的两个选项是通
  • 带 R 的地图:无法更改点/坐标的投影

    我想绘制一个具有多个点 也称为纬度和经度坐标组合 的世界地图 我不想使用墨卡托 因此我重新投影世界地图的数据和我的坐标 当世界的投影发生变化时 所有点都会突然放置在地图的中间 这是一种常见行为 当投影不对齐时 请参阅https www ea
  • 沿一个坐标轴的 3D 倾斜变换矩阵

    有没有一种方法可以计算沿一个坐标轴的倾斜变换矩阵 给定倾斜角度 如下 这应该在很大程度上适用于使用变换矩阵倾斜对象 特别是使用 glMultMatrix matrix matrix1 1 0 0 0 tan a 1 0 0 0 0 1 0
  • Cordova 视频编辑器插件 InvalidOutputFormatException

    我在用着科尔多瓦插件视频编辑器 https www npmjs com package cordova plugin video editor处理以前录制的视频 该插件开始转换 但由于某种原因失败 我得到的错误是这样的 net yprest
  • 该程序集是由比当前加载的运行时更新的运行时构建的,无法加载

    我收到此错误 无法加载文件或程序集 Twitterizer2 Asynchronous 或其中之一 它的依赖项 该程序集是由比 当前已加载运行时且无法加载 但我已经从我的引用中删除了 twitterizer2 Asynchronous 库
  • 如何管理服务器上的数据库连接?

    我的 Web 应用程序中的数据库连接存在严重问题 由于我对单例数据库类的整个应用程序使用单个数据库连接 因此如果我尝试并发数据库操作 两个用户 数据库将回滚事务 这是我使用的静态方法 所有线程 servlet 都调用静态 Database
  • 当单元格更改时,VBA 运行宏,但如果通过宏则不运行

    好吧 我不确定这是否容易实现 但我会尝试 如果单元格发生更改 我使用此子程序来执行一些宏 Private Sub Worksheet Calculate Dim target As Range Set target Range b4 If