You're going about this in a very convoluted way. There is no need to loop through all Sections or to activate the Header/Footer pane.
For example:
Code:
Sub InsertFooterPage()
Application.ScreenUpdating = False
Dim HdFt As HeaderFooter, Rng As Range
For Each HdFt In ActiveDocument.Sections.Last.Footers
If HdFt.Exists Then
Set Rng = ActiveDocument.Fields.Add(Range:=HdFt.Range, Type:=wdFieldIf, Text:="{} = {} {}", PreserveFormatting:=False).Code
With Rng
.Collapse wdCollapseStart
.MoveStartUntil "{"
.End = .End + 2
.Text = ""
.Fields.Add Range:=Rng, Type:=wdFieldPage, PreserveFormatting:=False
.Collapse wdCollapseEnd
.MoveStartUntil "{"
.End = .End + 2
.Text = ""
.Fields.Add Range:=Rng, Type:=wdFieldNumPages, PreserveFormatting:=False
.Collapse wdCollapseEnd
.MoveStartUntil "{"
.End = .End + 2
.Text = ""
.Fields.Add Range:=Rng, Type:=wdFieldAutoText, Text:="MyBuildingBlock3", PreserveFormatting:=False
End With
End If
Next
Application.ScreenUpdating = True
End Sub