Skye hat drei Zellen in einem Arbeitsblatt, die wichtig sind. Eine Zelle enthält ein Startdatum, die zweite ein Enddatum und die dritte eine Summe für die Transaktionen zwischen diesen Daten. Er hätte gerne eine Fußzeile für die gedruckte Seite, die diese drei Daten dynamisch enthält. Er fragt sich, ob es eine Möglichkeit gibt, eine Formel in die Fußzeile aufzunehmen, damit sie diese Werte widerspiegelt.

In Excel gibt es keine integrierte Möglichkeit, dies zu tun, da Formeln nicht in Fußzeilen eingegeben werden können. Sie werden vom Programm nicht als Formeln erkannt.

Sie können jedoch ein Makro verwenden, um Ihre Fußzeile festzulegen. Nehmen wir für diesen Ansatz an, dass Ihr Startdatum in Zelle E1 enthalten ist, Ihr Enddatum in Zelle E2 und Ihre Gesamtzahl der Transaktionen in Zelle E3. In diesem Fall könnten Sie ein Makro wie das folgende verwenden:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim sTemp As String

With Worksheets("Sheet1")

' Set wording for date range         sTemp = .Range("E1").Text & " through " & .Range("E2").Text         sTemp = sTemp & " (" & .Range("E3").Text & ")"

.PageSetup.CenterFooter = sTemp     End With End Sub

In diesem Makro sind einige Dinge zu beachten. Zunächst legt das Makro nur die Fußzeileninformationen im Arbeitsblatt mit dem Namen Sheet1 fest. Sie können diesen Arbeitsblattnamen jedoch nach Bedarf ändern. Beachten Sie zweitens, dass die .Text-Eigenschaft anstelle der .Value-Eigenschaft verwendet wird. Es gibt tatsächlich drei Möglichkeiten, wie Sie auf den Zelleninhalt verweisen können, wie hier gezeigt:

sTemp = Worksheets("Sheet1").Range("E1")

sTemp = Worksheets("Sheet1").Range("E1").Value sTemp = Worksheets("Sheet1").Range("E1").Text

Die ersten beiden Ansätze sind gleichwertig; Sie setzen sTemp gleich dem Inhalt der Zelle. Der dritte Ansatz ist anders; es setzt sTemp gleich dem formatierten Text der Zelle. Mit anderen Worten, sTemp ist gleich dem, was sich in Zelle E1 befindet, wie es in der Zelle formatiert ist. Da Sie mit Datums- und Summenwerten arbeiten, ist dies der Ansatz, den Sie verwenden möchten. Dies wurde also im Makro verwendet.

Drittens richtet das Makro die Fußzeile in der Variablen sTemp ein. Wie geschrieben, würde das Makro eine Fußzeile erstellen, die ungefähr so ​​aussieht:

1 Mar 2016 through 15 Mar 2016 ($1,234.56)

Auch hier hängt das tatsächliche Erscheinungsbild von der Formatierung in den Zellen E1, E2 und E3 ab. Das Makro fügt das Wort „durch“ hinzu und setzt Klammern um die Summe der Transaktionen. Sie können diese zusätzlichen Elemente direkt im Makro ändern.

Viertens weist das Makro die formatierte sTemp-Zeichenfolge (Ihre Fußzeile) der Mittelposition in der Seitenfußzeile des Arbeitsblatts zu. Wenn Sie möchten, dass sich die Fußzeile an einer anderen Stelle befindet, können Sie die Eigenschaft .CenterFooter einfach in .LeftFooter oder .RightFooter ändern.

Schließlich müssen Sie sich darüber im Klaren sein, dass dieses Makro zum Hinzufügen zum ThisWorkbook-Modul bestimmt ist. Es wird automatisch ausgeführt, kurz bevor die Arbeitsmappe gedruckt wird. Es wird jedoch nicht durch Betrachten des Arbeitsblatts in der Druckvorschau ausgelöst, sodass Sie sich nicht darauf verlassen können, was Sie möglicherweise sehen, bevor Sie tatsächlich drucken.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (559) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.