首页 > 解决方案 > 单元格更改未触发 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应该自动执行此操作,但它似乎不起作用 - 我必须手动运行宏。我究竟做错了什么?

标签: excelvbamacos

解决方案


从您的代码中不清楚,但通过转到项目资源管理器 (Ctrl-R) 并右键单击有问题的工作表并选择查看代码来确保Worksheet_Change在对象中。Worksheet把那个worksheet_change模块放在那里。


推荐阅读