excel - 单元格更改未触发 VBA 宏
问题描述
我正在尝试使用以下 VBA 宏在输入特定字符时更改单元格的内容。
Sub replaceWords()
Dim i As Long
Dim r As Integer
For i = 1 To 60
For r = 1 To 60
If Cells(i, r).Value = "`" Then
Cells(i, r).Value = "0,0"
End If
Next r
Next i
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("A1:AA100")) Is Nothing Then
Application.EnableEvents = False
Call replaceWords
Application.EnableEvents = True
End If
End Sub
我的理解是Worksheet_Change
应该自动执行此操作,但它似乎不起作用 - 我必须手动运行宏。我究竟做错了什么?
解决方案
从您的代码中不清楚,但通过转到项目资源管理器 (Ctrl-R) 并右键单击有问题的工作表并选择查看代码来确保Worksheet_Change
在对象中。Worksheet
把那个worksheet_change
模块放在那里。
推荐阅读
- javascript - 我在 Div 中有表单和循环中的 Div 以显示保存的数据,我想检查是否在任何 From any fiedls 中更改了我可以检测到更改
- save - 保存并重新打开 Visual Studio
- c# - 我如何确定哪些文件是由特定进程在 c# windows OS 中以编程方式创建或操作的
- powerbi - MDX 作为 Keepfilters 的等效概念
- java - 来自 IMap 值的 Hazelcast SqlPredicate 给出了 ClassNotFoundException
- yaml - 按计划手动触发 GitHub 操作
- javascript - 当我转到另一个 html 页面时,如何将元素保存在数组中?
- css - 在 return 语句中呈现的钩子少于预期的错误
- loops - Bash 循环而不是 VS 并行进程
- javascript - Webpack-dev-server 不提供 index.html