Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Excel falsche Wiedergabe VBA-Code

Betrifft: Excel falsche Wiedergabe VBA-Code von: Kai
Geschrieben am: 15.10.2014 11:58:29

Guten Tag,

bei mir ist heute ein seltsames Problem in Excel aufgetreten, das ich nicht nachvollziehen kann.
Habe mir per VBA ein neues Blatt einfügen lassen, das weiterhin durch VBA bearbeitet wird. Funktioniert alles prima.
Zum Schluss wollte ich "Seite einrichten" per VBA programmieren, woraufhin das Problem auftrat.
Excel führt auch alles richtig aus, was zur "Seite einrichten" programmiert wurde. Nur bei der Kopf- und Fußzeile macht Excel nicht das, was VBA ihm vorgibt.

Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "Test Überschrift"
.RightHeader = "&D"
.LeftFooter = ""
.CenterFooter = "Seite &P von &N"
.RightFooter = ""
End With
Application.PrintCommunication = True

Das hier ist nur ein Ausschnitt aus dem "Seite einrichten"-Code, da alles Andere funktioniert.
Anstatt das zu tun, was der Code vorgibt, sehen Fuß- und Kopfzeile danach folgendermaßen aus:
Kopfzeile: Test Überschrift (durchgestrichen) kein Datum wird angezeigt

Fußzeile: Anstatt Seite: 1 von 4 steht dort Seite: Speicherort der Datei

Ich kann den Fehler einfach nicht finden und weiß nicht wie Excel zu so einem Blödsinn kommt. Habe selbst mal manuell die Seite eingerichtet, wie sie aussehen sollte und mir das Makro aufzeichnen lassen. Danach habe ich das aufgezeichnete Makro ablaufen lassen, jedoch kam dasselbe seltsame Ergebnis raus. Excel verarscht sich hier doch selbst?!
Es ist auch die einzige Stelle, an der auf die Fuß-und Kopfzeile verwiesen wird.

Wäre nett, wenn mir jemand so schnell wie möglich weiterhelfen könnte.

Mfg Kai

  

Betrifft: AW: Excel falsche Wiedergabe VBA-Code von: fcs
Geschrieben am: 15.10.2014 13:17:03

Hallo Kai,

lösche in deinem Code alle Zeilen

Application.PrintCommunication = False
Application.PrintCommunication = True

Diese Anweisungen sollten eigentlich das Ausführen der Page-Setup-Anweisungen beschleunigen, führen aber scheinbar zu Verwirrungen Richtung Drucker, wenn das Betriebssystem/Excel nicht englisch-sprachig ist.

Zusätzlich solltest du in dem Tabellenblatt einmal die Kopf- und Fusszeilen-Inhalte löschen/zurücksetzen, damit nicht irgendwelcher Müll früherer Einstellungen erhalten bleibt.

Gruß
Franz
Sub KopfFussZeilen_Loeschen_Tab()
  If MsgBox(Prompt:="Kopf- und Fusszeilen im aktiven Tabellenblatt löschen?", _
    Buttons:=vbQuestion + vbOKCancel, Title:="Kopf- und Fusszeilen") = vbOK Then
      With ActiveSheet.PageSetup
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
      End With
  End If
End Sub



  

Betrifft: AW: Excel falsche Wiedergabe VBA-Code von: Kai
Geschrieben am: 15.10.2014 13:44:23

Okay, danke für die Hilfe!
Es hat funktioniert. Anscheinend waren diese beiden Funktionen wirklich dafür verantwortlich.
Wirklich beschleunigt haben die Funktionen das Makro nicht.


 

Beiträge aus den Excel-Beispielen zum Thema "Excel falsche Wiedergabe VBA-Code"