Vba 如何在每次更改Microsoft Excel宏时自动运行该宏?

Vba 如何在每次更改Microsoft Excel宏时自动运行该宏?,vba,excel,Vba,Excel,我想知道当我更改文档中的内容时,是否有办法运行宏。谢谢大家! 宏: Sub Test() Const QT = """" Dim a(), i As Long, r As Long, v As String With Range("B1", Cells(Rows.Count, "B").End(xlUp)) If .Count = 1 Then ReDim a(1 To 1, 1 To 1) a(1, 1)

我想知道当我更改文档中的内容时,是否有办法运行宏。谢谢大家!

宏:

Sub Test()
    Const QT = """"
    Dim a(), i As Long, r As Long, v As String
    With Range("B1", Cells(Rows.Count, "B").End(xlUp))
        If .Count = 1 Then
            ReDim a(1 To 1, 1 To 1)
            a(1, 1) = .Value
        Else
            a() = .Value
        End If
        For r = 1 To UBound(a)
            v = Trim(a(r, 1))
            If Len(v) Then
                If Right(v, 1) = QT Then v = Left(v, Len(v) - 1)
                i = InStrRev(v, QT)
                If i Then v = Mid(v, i + 1)
                a(r, 1) = Trim(v)
            End If
        Next
        .Value = a()
    End With
End Sub

您可以按如下方式向工作簿中添加事件处理程序

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    MsgBox ("changed")
End Sub
若要添加此宏,请转到vb视图-在左侧项目面板中选择工作簿以打开与工作簿关联的代码,并将代码粘贴到上面。每次更改工作簿中的单元格时,您都会收到通知。

查看或