Excel: не удается обновить автоматически после запуска - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть ячейка A1, которая извлекает значения из сервера каждые n секунд, однако использование макроса ниже (который используется в настоящее время) не подходит:

Dim preVal As String
Dim count As Integer

'Intention is if cell A1 changes, record changes to Column C and Column D
Private Sub Worksheet_Change(ByVal Target As Range)
        If Target = Range("A1") Then
                Call cellchange(Range("A1"))
        End If
End Sub

Private Sub cellchange(ByVal a As Range)
   'If row is empty, filled into that row, if not skip to next one  
    If a.Value <> preVal Then
        count = count + 1
'copy the value of A1 from sheet 1 
        preVal = Sheets("Sheet1").Range("A1").Value
        Cells(count, 4).Value = a.Value
 'copy the values of time of which data change detected       
        Cells(count, 3) = Now()
    End If
End Sub

ВПроще говоря, ячейка A1 будет обновляться каждые несколько секунд с сервера, поэтому мне нужно, чтобы макрос обновлялся / запускался при обнаружении изменений в ячейке A1, не связанных с вводом человеком.

1 Ответ

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

Вам нужно использовать что-то, что действительно проверяет, обновлены ли ваши целевые клетки.обычно application.intersect используются.Здесь я использую свойство адреса.

Dim preVal As String
Dim count As Integer

'Intention is if cell A1 changes, record changes to Column C and Column D
Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.address = Range("A1").address Then
                cellchange target 
        End If
End Sub

Private Sub cellchange(ByVal a As Range)
   'If row is empty, filled into that row, if not skip to next one  
    If a.Value <> preVal Then
        count = count + 1
'copy the value of A1 from sheet 1 
        preVal = Sheets("Sheet1").Range("A1").Value
        Cells(count, 4).Value = a.Value
 'copy the values of time of which data change detected       
        Cells(count, 3) = Now
    End If
End Sub

Надеюсь, это поможет.

С уважением,
M

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...