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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es verschiedene Fußzeilen/Kopfzeilen-Konfigurationen, aber keiner von Ihnen erlaubt, zu schreiben, einen anderen Wert für jede Seite. Schreiben Sie einen anderen text für die erste Seite und für gerade/ungerade Seiten, auch Sie können einige Formatierung mit bestimmten Variationen der Seite (z.B. Seitenzahl), aber das ist es. In Word die Regeln sind äquivalent.
Bezüglich der MSDN code, den Sie zur Verfügung gestellt, einer seiner Bemerkungen sagt:
Und damit dieser code auch tatsächlich funktioniert wie erwartet; es ist zwar nicht zu auf den ersten Blick klar.
Sie sind herzlich willkommen. Ich habe einige tests gemacht, die von meiner eigenen, und ich fürchte, Sie haben nicht allzu viele Optionen. In Word ist es einfacher, da können Sie text in irgendeinem Teil des Dokuments, aber in Excel ist ein bisschen schwieriger, so weit als, im Prinzip, Sie können schreiben Sie einfach in das "Zellen-Teil". Aber es gibt vielleicht ein workaround... nicht 100% sicher.
Vielen Dank dafür, Es ist ein bisschen wie ein Schmerz um ehrlich zu sein, jede Seite muss seine eigene einzigartige footer, ich kann nicht mit irgendeinem anderen Teil der Seite, dachte, es war nur 5 Minuten Zeit nehmen!
In Ihrer situation wäre, würde ich wollen, um zu vermeiden, diese Funktion (das schreiben etwas auf der Unterseite klingt nicht allzu wichtig ist), oder ersetzen Sie es mit etwas, auf dem Excel hat die volle Kontrolle (alles, was Sie schreiben können/in der "spreadsheet-Bereich"). Aber ich glaube nicht, dass sollten Sie zu viel Zeit zu verschwenden: die wichtigsten Funktionalitäten von MS Office-Programme arbeiten sehr gut, aber die Seite nicht so gut... also besser anzupassen, Ihre Anforderungen zu diesen wichtigsten Funktionen.
Dank sehr viel, um ein wenig Kontext ich benutze Excel-Automatisierung zu generieren, was über 100 Excel Seiten. Ich habe dann den druckbereich für jede Seite, die programmgesteuert ist, kann ich nicht verwenden, eine Seite, die print-Bereich, für das, was ich möchte in der Fußzeile, also für mich eine sehr deutliche Angelegenheit. Das heißt, die Verwendung von Excel hat es mir ermöglicht, eine Lösung anzubieten, wäre viel schwerer zu produzieren anderswo.
InformationsquelleAutor varocarbas
Ich weiß, ist das er einen thread von den Toten, aber ist dies tatsächlich tun-in der Lage, in Excel-VBA. Ich musste es herausfinden, so konnte ich nicht finden eine akzeptable Lösung hier, also ich gehe diese für den nächsten Armen sod:
Die Lösung ist, erstellen Sie eine Unterroutine zum festlegen der Kopf-und Fußzeile, und rufen Sie dann diese routine in einer Schleife in einem anderen sub aufrufen jedes Arbeitsblatt einzeln und Verwaltung, was Sie sagen wollen, durch die variable.
So etwas wie dieses:
Dann rufen Sie es in eine For-Schleife, die Modulation shtHeader und strText, wie gebraucht. Hoffe das hilft dem nächsten Archäologen.
InformationsquelleAutor ThatJDoe