0

我有一个 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
4

1 回答 1

1

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

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

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

于 2018-11-12T18:30:54.233 回答