Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benutzerdefinierte Ansichten per VBA viele Blätter

Forumthread: Benutzerdefinierte Ansichten per VBA viele Blätter

Benutzerdefinierte Ansichten per VBA viele Blätter
31.03.2016 15:18:42
Lutz
Liebe Ex(cel)perten,
Meine Datei besteht u. a. aus 64 identisch strukturierten und formatierten Arbeitsmappen. Für den Ausdruck sollen in diesen Mappen die Zeilen 7-14 ausgeblendet werden, da sie den Nutzer der Papiervorlage nur verwirren. Außerdem soll der verbleibende Druckbereich optimal auf eine DIN A4-Seite vergrößert werden und sich das Druckmenü öffnen.
Hierfür habe ich die beiden benutzerdefinierten Ansichten "Normalansicht" und "Druckansicht" als Makro aufgezeichnet.
Sub Normalansicht()
ActiveWorkbook.CustomViews("Normalansicht").Show
End Sub
Sub Druckansicht()
ActiveWorkbook.CustomViews("Druckansicht").Show
Application.Dialogs(xlDialogPrint).Show
End Sub
Ich hatte mir gewünscht, mit zwei Buttons in jeder der Mappen zwischen den beiden Ansichten wechseln zu können. Das funktioniert jedoch nur in der ersten Mappe. Wenn ich in den anderen Mappen den Button "Druckansicht" anklicke, wird die erste Mappe ausgewählt.
Hat jemand einen Tipp für mich, wie ich meine benutzerdefinierten Ansichten in der gewünschten Weise in allen Tabellen nutzen kann?
Danke im Voraus für Eure Hilfe!
Lutz

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Ansichten per VBA viele Blätter
01.04.2016 20:31:52
Werner
Hallo Lutz,
da wäre es nicht ganz uniteressant zu wissen, wie deine Makros "Normalansicht" und "Druckansicht" aussehen.
Gruß Werner

AW: Benutzerdefinierte Ansichten per VBA viele Blätter
02.04.2016 10:48:13
Lutz
Hallo Werner,
Du hast natürlich Recht. Ihm Nachhinein ist mir mein peinlich simpler Beitrag auch bewusst geworden ...
Mein Ansatz war, meine gewünschten Druckeinstellungen in "benutzerdefinierte Ansichten" in einer Mappe festzulegen und in die übrigen 63 Mappen zu kopieren. Aber soweit ich recherchiert habe, ist dies wohl nicht möglich.
Inzwischen habe ich meine "Druckansicht" mit folgendem Code erstellt:
Sub Druckansicht()
Rows("7:14").Select
Selection.EntireRow.Hidden = True
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = "$A$1:$Y$30"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(1.06299212598425)
.HeaderMargin = Application.InchesToPoints(0.78740157480315)
.FooterMargin = Application.InchesToPoints(0.78740157480315)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = 1
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 140
.PrintErrors = xlPrintErrorsDisplayed
End With
End Sub
Dieses Makro lässt sich von jeder Mappe ausführen.
Gruß Lutz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Benutzerdefinierte Ansichten in Excel automatisieren


Schritt-für-Schritt-Anleitung

Um benutzerdefinierte Ansichten in Excel mithilfe von VBA zu erstellen und zwischen ihnen zu wechseln, folge diesen Schritten:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne eine bestehende.
  2. Erstelle die benutzerdefinierte Ansicht:
    • Gehe zu „Ansicht“ > „Benutzerdefinierte Ansichten“ und klicke auf „Hinzufügen“.
    • Benenne die Ansichten, z.B. „Normalansicht“ und „Druckansicht“.
  3. Öffne den VBA-Editor:
    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge ein neues Modul hinzu:
    • Rechtsklick im Projektfenster > „Einfügen“ > „Modul“.
  5. Füge den folgenden VBA-Code ein:
Sub Normalansicht()
    ActiveWorkbook.CustomViews("Normalansicht").Show
End Sub

Sub Druckansicht()
    Rows("7:14").Select
    Selection.EntireRow.Hidden = True
    ActiveWorkbook.CustomViews("Druckansicht").Show
    Application.Dialogs(xlDialogPrint).Show
End Sub
  1. Füge Schaltflächen hinzu:
    • Gehe zu „Entwicklertools“ > „Einfügen“ > wähle „Schaltfläche“ und platziere sie im Arbeitsblatt.
    • Weise der Schaltfläche das Makro „Normalansicht“ zu und wiederhole dies für die Druckansicht.

Jetzt kannst Du zwischen den benutzerdefinierten Ansichten in Deiner Excel-Datei wechseln.


Häufige Fehler und Lösungen

  • Problem: Der Button funktioniert nur in der ersten Mappe.

    • Lösung: Stelle sicher, dass Du die Makros in jede Arbeitsmappe einfügst, oder verwende ein globales Modul, um die Funktionen für alle Blätter verfügbar zu machen.
  • Problem: Benutzerdefinierte Ansichten werden nicht richtig angezeigt.

    • Lösung: Überprüfe, ob die Ansichten korrekt gespeichert wurden und dass Du die richtigen Namen verwendest.

Alternative Methoden

Wenn Du keine VBA verwenden möchtest, kannst Du auch manuell zwischen den Ansichten wechseln:

  1. Gehe zu „Ansicht“ > „Benutzerdefinierte Ansichten“.
  2. Wähle die gewünschte Ansicht aus und klicke auf „Anzeigen“.

Diese Methode ist jedoch weniger automatisiert und erfordert mehr manuelle Eingriffe.


Praktische Beispiele

Angenommen, Du hast eine Excel-Datei mit mehreren Blättern, und Du möchtest die Zeilen 7-14 in jedem Blatt ausblenden, bevor Du druckst. Mit dem oben genannten VBA-Code kannst Du das für alle Blätter automatisieren, indem Du den Code in jedes Blatt einfügst oder eine Schleife in VBA erstellst, die dies für alle Blätter in der Arbeitsmappe durchführt.


Tipps für Profis

  • Benutze Kommentare im VBA-Code, um die Funktion der einzelnen Abschnitte zu erklären.
  • Teste den Code in einer Kopie Deiner Arbeitsmappe, um unerwünschte Änderungen zu vermeiden.
  • Achte darauf, dass der Druckbereich in den benutzerdefinierten Ansichten richtig eingestellt ist, um optimale Druckergebnisse zu erzielen.

FAQ: Häufige Fragen

1. Wie kann ich die benutzerdefinierte Ansicht ändern? Du kannst die benutzerdefinierte Ansicht ändern, indem Du die Ansicht auswählst und die gewünschten Änderungen vornimmst. Gehe dann zu „Ansicht“ > „Benutzerdefinierte Ansichten“ und aktualisiere die Ansicht.

2. Kann ich benutzerdefinierte Ansichten für mehrere Arbeitsmappen gleichzeitig erstellen? Leider ist es nicht möglich, benutzerdefinierte Ansichten direkt von einer Arbeitsmappe auf mehrere andere zu kopieren. Du musst die Ansichten in jeder einzelnen Arbeitsmappe erstellen oder ein VBA-Skript verwenden, um dies zu automatisieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige