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

Forumthread: Ansicht/zoom automatisch anpassen per VBA

Ansicht/zoom automatisch anpassen per VBA
22.03.2006 16:46:30
Georg
Ein wirklich kniffiliges Problem.
Ich erstelle Per Makro diverse Tabellenblätter. Bei jeder Anwendung des Makros werden Mappen erstellt mit unterschiedlicher anzahl Spalten und Spaltenbreiten.
Nun möchte ich Aber das am Ende die Ansich so eingestellt wird daß alle Spalten sichtbar sind.
Die Ansicht ändern geht einfach mit:
ActiveWindow.Zoom = zoomwert
Nur wie ermittel ich wen notwendigen Wert? Weil sich die Breite der benutzten Spalten ja je nach Anwendung ändert.
Sowas wie FitToSceen o.ä. gibt es nicht für die reine ansicht oder?
Danke
Georg
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:14:24
u_
Hallo,
das kannst du nur austesten.
Mal als Denkanstoß, zoomt auf den gewählten Bereich:

Sub ZoomIn_Selection()
Dim intRows As Integer, intCols As Integer
Dim rngStart As Range, rngEnde As Range
Set rngStart = Selection.Cells(1)
intRows = Selection.Rows.Count
intCols = Selection.Columns.Count + 1
Application.Goto Reference:=rngStart, Scroll:=True
Application.ScreenUpdating = False
ActiveWindow.Zoom = 200
With ActiveWindow
Do While .VisibleRange.Rows.Count < intRows Or .VisibleRange.Columns.Count < intCols
.Zoom = ActiveWindow.Zoom - 1
If ActiveWindow.Zoom = 10 Then Exit Do
Loop
End With
Application.ScreenUpdating = True
End Sub

Gruß
Geist ist geil!
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:33:30
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ne 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:33:47
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:33:50
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:33:56
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:34:15
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:34:17
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
*grummel*
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 17:34:31
Georg
Danke soweit.
Das war zwar noch nicht die Lösung die ich erhofft habe aber ich versuche mir aus deinem Denkanstoß was zu basteln.
Ich werde mal versuchen via ActiveCell.Address was zu basteln.
Leider scheint sich die ansicht in Exel nicht linear mit dem angegebenen Prozentwert zu ändern. D.H. eine 33% Ansicht entspricht nicht immer einem Drittel von ner 100 Prozentansicht. Weil die Spaltenbreiten und die Bildschirmauflösung miteinberechnet werden.
grummel
naja mal sehen
Danke trotzdem
Gruß
Georg
Anzeige
AW: Ansicht/zoom automatisch anpassen per VBA
22.03.2006 18:49:01
Horst

Sub zoom_me()
ActiveSheet.UsedRange.Select
ActiveWindow.Zoom = True
End Sub

mfg Horst
AW: Ansicht/zoom automatisch anpassen per VBA
23.03.2006 10:14:46
Georg
Treffer!!!
Perfekte Punktlandung.
Danke sehr. Genau das war es was ich gesucht habe.
Die einfachen Lösungen sind meistens die Besten.
Vielen Dank und schönen Rest der Woche.
Gruß
Georg
P.s.: Keine Ahnung warum meine Einträge vom Script nicht genommen wurden. Habe mehrmals versucht mit "absenden" zu bestätigen aber immer ist nichts passiert.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ansicht und Zoom automatisch anpassen mit VBA


Schritt-für-Schritt-Anleitung

Um den Zoom in Excel per VBA automatisch anzupassen, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deine Arbeitsmappe)" > Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub AutoZoom()
        ActiveSheet.UsedRange.Select
        ActiveWindow.Zoom = True
    End Sub
  4. Führe das Makro aus: Drücke F5 oder gehe zurück zu Excel und führe das Makro über Entwicklertools > Makros aus.

Dieses einfache Macro zoomt die Ansicht automatisch auf den verwendeten Bereich der Tabelle.


Häufige Fehler und Lösungen

  • Fehler: Zoom wird nicht angewendet

    • Lösung: Stelle sicher, dass das Excel-Fenster aktiv ist, wenn du das Makro ausführst. Manchmal kann eine andere Anwendung den Fokus haben.
  • Fehler: Falscher Zoom-Faktor

    • Lösung: Nutze ActiveWindow.Zoom = 100, um den Zoom auf 100% zu setzen, falls du den Standardwert benötigst.

Alternative Methoden

  1. Zoom auf einen bestimmten Bereich festlegen:

    Sub SetZoomToRange()
        ActiveWindow.Zoom = 75 'Setzt den Zoom auf 75%
    End Sub
  2. Zoom dynamisch anpassen:

    Sub DynamicZoom()
        Dim intRows As Integer, intCols As Integer
        intRows = Selection.Rows.Count
        intCols = Selection.Columns.Count
        ActiveWindow.Zoom = 100 'Starte mit 100%
    
        Do While ActiveWindow.VisibleRange.Rows.Count < intRows Or ActiveWindow.VisibleRange.Columns.Count < intCols
            ActiveWindow.Zoom = ActiveWindow.Zoom - 1
            If ActiveWindow.Zoom < 10 Then Exit Do
        Loop
    End Sub

Praktische Beispiele

Hier sind einige Makros, die speziell für das Zoom-Einstellen in Excel nützlich sind:

  • Zoom auf den gesamten Arbeitsbereich anpassen:

    Sub ZoomToFit()
        Cells.Select
        ActiveWindow.Zoom = True 'Auto Zoom
    End Sub
  • Zoom auf einen bestimmten Bereich fixieren:

    Sub SetFixedZoom()
        ActiveWindow.Zoom = 100 'Zoom auf 100% festlegen
    End Sub

Diese Beispiele können in jeder Excel-Version verwendet werden, die VBA unterstützt.


Tipps für Profis

  • Zoom dauerhaft einstellen: Wenn du den Zoom in Excel dauerhaft auf einen bestimmten Wert setzen möchtest, kannst du dies in den Excel-Optionen unter "Erweitert" tun. Allerdings kann VBA dir helfen, dies bei jedem Öffnen der Datei zu automatisieren.

  • Zoom-Funktion in Schleifen: Wenn du mit mehreren Blättern arbeitest, kannst du eine Schleife verwenden, um den Zoom für alle Blätter gleichzeitig einzustellen:

    Sub ZoomAllSheets()
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            ws.Activate
            ActiveWindow.Zoom = True
        Next ws
    End Sub

FAQ: Häufige Fragen

1. Wie kann ich den Zoom in Excel auf 100% setzen?
Du kannst den Befehl ActiveWindow.Zoom = 100 verwenden, um den Zoom auf 100% zu fixieren.

2. Gibt es eine Möglichkeit, den Zoom automatisch anzupassen, wenn ich die Spaltenbreite ändere?
Ja, du kannst ein Makro erstellen, das nach jeder Änderung der Spaltenbreite den Zoom anpasst.

3. Wie funktioniert der Befehl ActiveWindow.Zoom = True?
Dieser Befehl passt den Zoom automatisch so an, dass der gesamte verwendete Bereich auf dem Bildschirm sichtbar ist.

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