как обнаружить изменение значения данной ячейки функцией - PullRequest
0 голосов
/ 23 декабря 2018

Мне нравится, что вы дали мне решение следующих проблем: у меня есть финансовые данные, которые случайно меняются в ячейке, например, А1, предоставленные финансовым программным обеспечением, я хочу записать эти данные один за другим в столбце,Я уже написал этот небольшой код, но он не обнаруживает изменения в значении A1, потому что ячейка A1 содержит функцию, заданную программным обеспечением

    Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("A1"), Range(Target.Address)) Is Nothing Then
    Call test
End If
End Sub

Sub test()
Static n As Integer
n = Cells(1, 3).Value ' used for the faste verification of empty cells 
    While Not IsEmpty(Cells(n, 1))
        n = n + 1
    Wend
    Cells(n, 1).Value = Cells(1, 1).Value
    Cells(1, 3).Value = n
End Sub

1 Ответ

0 голосов
/ 24 декабря 2018

Одним простым способом является создание функции, которая принимает в качестве аргумента ячейки, которые вы хотите отслеживать.Таким образом, изменения значений ячеек (аргументов) вызовут функцию отслеживания.

Примерно так будет отслеживаться, сколько раз вызывается функция:

Dim i As Integer
Function tracker(c As Variant) As Integer
    i = i + 1
    tracker = i
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...