从MySQL数据库插入数据透视表时运行宏

问题描述 投票:1回答:1

我希望使用MySQL for Excel加载项从MySQL数据库插入数据透视表时自动运行Excel宏。

数据透视表插入已存在的工作表中,占用范围A2:CN600,具体取决于表的行数。我有以下代码,当指定范围内的一个单元格被更改时,它可以很好地工作:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("A2:CN600")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
       Is Nothing Then


        MsgBox "Cell " & Target.Address & " has changed."

    End If
End Sub

实验上,我将MySQL数据库作为数据透视表插入到此工作表中以查看会发生什么,但是没有弹出消息框。当我按Ctrl + a和Delete删除表时,我得到了消息:

Cell $ A $ 2:$ CN $ 600已发生变化。

如何修改此代码,以便在插入表时显示消息框?我理解上面的代码更适合于一次更改一个单元格值的情况,而不是一次性更改其值的大范围。

mysql excel vba excel-vba pivot-table
1个回答
1
投票

数据透视表有点不同 - 因此对于他们来说还有其他事件。试试这个活动:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
     MsgBox Target.TableRange1.Address
End Sub

看看其他数据透视表相关事件:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.