автоматическое сохранение книги Excel при каждом изменении автообновления - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть книга 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 голосов
/ 12 ноября 2018

Worksheet_Change() не будет запускаться по формуле, например RTD, при обновлении ячейки.

Для этого вам нужно создать Worksheet_Calculate() Sub для прослушивания изменений.

Проблема в том, что эта функция рабочей таблицы не имеет аргумента Range для проверки того, какие ячейки редактируются ... поэтому предложения см. По этой ссылке .

...