VBA: Как вызвать функцию события листа путем автоматического изменения ячейки по ссылке? - PullRequest
0 голосов
/ 29 апреля 2010

Моя проблема заключается в следующем: Приведенная ниже функция запускает функцию «если тогда», когда я вручную изменяю значение в ячейке D9. Что я должен сделать, чтобы заставить его работать с автоматическим изменением значения ячейки D9 через ссылку.

Другими словами, если я, где связать ячейку D9 с ячейкой A1 и изменить значение A1, могу ли я по-прежнему работать с указанной ниже функцией?

Private Sub Worksheet_Change(ByVal Target As range)
  If Target.Address = "$D$9" Then

  If range("C12") = 0 Then
    Rows("12:12").Select
    Selection.RowHeight = 0
  Else:
    Rows("12:12").Select
    Selection.RowHeight = 15
  End If
End Sub

Ответы [ 2 ]

3 голосов
/ 29 апреля 2010

Как насчет этого:

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    Dim rngDependents As Range
    Set rngDependents = Target.Dependents

    If Target.Address = "$D$9" Then
        MsgBox "D9 has changed"
    ElseIf Not Intersect(rngDependents, Range("$D$9")) Is Nothing Then
            MsgBox "D9 has been changed indirectly"
    End If

End Sub
0 голосов
/ 29 апреля 2010

попробуйте сделать вашу функцию, тогда в другой ячейке используйте функцию с вводом ссылки на ячейку d9. Когда вы измените значение в ячейке d9, ваша функция будет оценена.

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