Eine andere Fußzeile für jede Seite in Excel

Ich getestet habe, den sample-code in das entsprechende MSDN-Artikel:

Sub WorkWithPages() 
    ' Fill random data: 
    Range("A1", "R100").Formula = "=RANDBETWEEN(1, 100)" 

    Dim pgs As Pages 
    Set pgs = PageSetup.Pages 

    PageSetup.DifferentFirstPageHeaderFooter = True 

    ' Look in the Immediate window for this output: 
    Debug.Print "The current sheet can be printed on " & _ 
     pgs.Count & " page(s)." 

    Dim pg As Page 
    Set pg = pgs(1) 
    pg.CenterHeader.Text = "This is the first page's header" 

    Set pg = pgs(2) 
    pg.CenterFooter.Text = "This is the second page's footer" 

    Set pg = pgs(pgs.Count) 
    pg.CenterFooter.Text = "This is the last page's center footer." 
    pg.LeftHeader.Text = "This is the last page's header" 

    ' Note that Excel supports only distinct headers/footers 
    ' for the first page, so headers and footers on the second 
    ' and other pages are combined--the last value set overwrites 
    ' the header/footer. 

    ' See the values in the Immediate window. 
    ' Note that the code disregards errors that occur--attempting 
    ' to retrieve a header/footer setting that doesn't exist raises an error: 
    On Error Resume Next 
    Debug.Print "First page (CenterHeader) : " & pgs(1).CenterHeader.Text 
    Debug.Print "Second page (CenterHeader): " & pgs(2).CenterHeader.Text 
    Debug.Print "Second page (CenterFooter): " & pgs(2).CenterFooter.Text 
    Debug.Print "Third page (CenterFooter) : " & pgs(3).CenterFooter.Text 
    Debug.Print "Last page (LeftHeader)    : " & pgs(pgs.Count).LeftHeader.Text 
    Debug.Print "Last page (CenterFooter)  : " & pgs(pgs.Count).CenterFooter.Text 

    ' In conclusion, use the Page class to retrieve information about headers 
    ' and footers for specific pages. Use the PageSetup object to set the headers 
    ' and footers, as it's clearer to set them there. 
End Sub

Aber die Werte-Ausgabe durch den Debug.Print "Second page (CenterFooter): " & pgs(2).CenterFooter.Text Linie abweichen, was erwartet wird:

Second page (CenterFooter): This is the last page's center footer

Statt des richtigen: Second page (CenterFooter): This is the second page's footer.

Ich habe versucht, verschiedene Dinge, die aber alle CenterFooter halten Sie sich immer die zuletzt eingegebene Wert. Wie kann ich dieses Verhalten ändern, so dass jede Seite bekommt die genaue Fußzeile, die ich will?

Ich sagte Ihnen: Klarheit ist sehr hilfreich, um eine schnelle und genaue Antwort. Ich ernsthaft wollen, um zu analysieren, jede Frage so Objektiv wie möglich, aber es ist nicht zu einfach, wenn der Fragesteller zeigt bestimmte Haltung (wenn Sie don ' T care über Ihre Frage, warum sollte ich?). Ich bin sicher, dass andere Menschen sich verhält wie mir: die Antwort auf eine würdige Frage/Haltung ist es ernst zu nehmen und zu analysieren und das problem richtig; für eine nachlässige Haltung, meine Antwort ist leichtsinnig (das schreiben von Zeug, ohne darüber nachzudenken und dabei andere Dinge parallel, das ist Recht einfach). Hoffentlich lernen Sie aus diesen.

InformationsquelleAutor Joe.Net | 2013-11-02

Schreibe einen Kommentar