代码之家  ›  专栏  ›  技术社区  ›  Jess

VBA:如何通过链接自动更改单元格来触发工作表事件函数?

  •  0
  • Jess  · 技术社区  · 16 年前

    我的问题是: 当我手动更改单元格d9中的值时,下面的函数将触发“if-then函数”。我该怎么做才能让它通过一个链接自动改变单元格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 回复  |  直到 7 年前
        1
  •  3
  •   dendarii    16 年前

    这样怎么样:

    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
    
        2
  •  0
  •   BenMorel Manish Pradhan    12 年前

    尝试使您的函数,然后在其他单元格中使用该函数并输入到单元格d9的链接。 当您更改单元格d9处的值时,将计算您的函数。