每次自动更新更改时自动保存 excel 工作簿

auto save excel workbook on every auto update change

我有一个 excel 工作簿,它从另一个来源(开盘价、收盘价、净头寸等)提取股票数据

关键是,我想保存每次数据更改的 CSV 文件,例如,我输入了 100 只股票的头寸,excel 相应地更新了信息,现在我想将其保存到单独的 excel sheet 中。

当我手动输入信息时,下面的代码工作正常,但是当通过 RTD(自动更新单元格)提取数据时,代码不会 运行

Private Sub Worksheet_Change(ByVal Target As Range)

    Application.DisplayAlerts = False

    If Not Intersect(Target, Me.Range("B33:D380")) Is Nothing Then
        ThisWorkbook.SaveCopyAs Filename:="F:\Google Drive\autosave.csv"
    End If
End Sub

Worksheet_Change() 不会被公式触发,例如 RTD,更新单元格。

为此,您需要创建一个 Worksheet_Calculate() Sub 来监听更改。

问题是此工作表函数没有 Range 参数来测试正在编辑哪些单元格...因此有关建议,请参阅此 link