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

时间:2018-11-12 16:43:53

标签: excel vba excel-vba rtd

我有一本excel工作簿,它从另一个来源(打开,关闭,净头寸等)提取股票数据

重点是,我希望每次更改数据后都保存一个CSV文件,例如,我输入了100只股票的头寸,excel相应地更新了信息,现在我想将其保存到单独的位置Excel工作表。

当我手动输入信息时,下面的代码可以正常工作,但是当通过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

1 个答案:

答案 0 :(得分:1)

Worksheet_Change()不会由RTD这样的公式触发来更新单元格。

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

问题是此工作表函数没有Range参数来测试正在编辑的单元格...因此,请参见此link