2014-10-20 69 views
0

我已经添加在Excel中VBA和它说:添加公式,并让它自动更新时单元格区域改变

Public Sub SetFooter() 
    Dim ws As Worksheet 

    Application.ScreenUpdating = False 

    For Each ws In Worksheets 
     ws.Select 
     With ActiveSheet 
      .PageSetup.CenterFooter = Evaluate("=SUM($J$6:$J$28)") 
      .PageSetup.LeftFooter = Evaluate("=average($J$6:$J$28)") 
     End With 
    Next 
End Sub 

如何获得当我改变公式自动改变单元格中的值?

回答

0

您不需要遍历所有工作表以更改页脚。您可以使用Workbook_SheetChange事件。每当特定工作表中的相应范围发生变化时,工作表的页脚将自动更新。

此代码放在ThisWorkbook

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    Dim rng As Range 

    Set rng = Range("$J$6:$J$28") 

    If Not Intersect(Target, rng) Is Nothing Then 
     With Sh.PageSetup 
      .CenterFooter = Evaluate("=SUM($J$6:$J$28)") 
      .LeftFooter = Evaluate("=average($J$6:$J$28)") 
     End With 
    End If 
End Sub 

enter image description here

相关问题