Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zoomfaktor auslesen

Forumthread: Zoomfaktor auslesen

Zoomfaktor auslesen
27.03.2003 11:47:33
Jens Huthmann
Liebe Excelianer,

ich lasse mir per VBA den Zoomfaktor im pagesetup automatisch einrichten (x hoch, 1 breit) Hierbei ermittelt Excel automatisch den Verkleinerungsfaktor.
Wie kann ich diesen Zoomfaktor auslesen und die Option "Verkleinern/Vergrößern" auf diesen Faktor wieder aktivieren?

Der Beitrag von Hans in der Recherche hilft mir nicht weiter:

Sub ZoomFaktor()
Dim varZoom As Variant
varZoom = Tabelle1.PageSetup.Zoom
MsgBox varZoom
End Sub

Da ich aktivesheet.pagesetup.zoom=false einstellen muss, damit Excel den Faktor finden kann, bringt mir die Msgbox auch nur "False" als Ergebnis.

Danke für Eure Hilfe

Gruß
Jens Huthmann

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: MsgBox ActiveWindow.Zoom
27.03.2003 11:49:57
Nike

Hi,
so?
MsgBox ActiveWindow.Zoom

Bye

Nike

Re: MsgBox ActiveWindow.Zoom
27.03.2003 11:56:57
Jens Huthmann

Lieber Nike,

"ActiveWindow.Zoom" gibt mir den Zoomfaktor des fensters zurück, nicht den in meinem Beitrag angesprochen Zoomfaktor von PageSetup.

Gruß
Jens Huthmann

Re: hm, schawürig...
27.03.2003 12:19:34
Nike

Hi,
oops, muß denn das False sein?
Ansonsten wüsste ich nicht,
wie du an den Wert kommen willst...

Ist auf jeden Fall ne interessante Frage ;-)

Bye

Nike

Anzeige
Re: Zoomfaktor auslesen
27.03.2003 13:19:36
Knut

Deine Aussage ist nicht nachvollziehbar, folgender Code zeigt exakt den eingestellten Zoomfaktor an(zumindest unter Excel 2000):
Option Explicit
Sub Zoomfaktor()
Dim z As Double
z = ActiveSheet.PageSetup.Zoom
MsgBox z
End Sub
Knut


Re: Zoomfaktor auslesen
27.03.2003 14:35:42
Jens Huthmann

Hallo Knut,

dann setzte mal in der Seiteneinrichtung die Option auf "Anpassen". Dadurch wird automatisch activesheet.pagesetup.zoom =false gesetzt und die msgbox gibt logischerweise "0" oder als string dargestellt "false" aus.

Dadurch wird meine Aussage sicherlich nachvollziehbar.

Ziel ist es, die Seitenbreite im Druck automatisch anzupassen. Da ich die Seitenumbrüche der Zeilen allerdings nachträglich beeinflussen möchte, muss ich die Option "anpassen" wieder rausnehmen, allerdings halt unter Beibehaltung des ermittelten Zoomfaktors.

Gruß
Jens Huthmann

Anzeige
;
Anzeige

Infobox / Tutorial

Zoomfaktor in Excel auslesen und anpassen


Schritt-für-Schritt-Anleitung

Um den Zoomfaktor in Excel über VBA auszulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code zeigt, wie Du den Zoomfaktor im PageSetup auslesen kannst:

Sub ZoomFaktor()
    Dim varZoom As Variant
    varZoom = ActiveSheet.PageSetup.Zoom
    MsgBox varZoom
End Sub

Stelle sicher, dass der PageSetup.Zoom nicht auf False gesetzt ist, um einen korrekten Wert zu erhalten. Wenn Du die Seitenanpassungsoption auf "Anpassen" gesetzt hast, wird der Zoomfaktor auf False gesetzt, was zu unerwarteten Ergebnissen führen kann.


Häufige Fehler und Lösungen

Fehler 1: Die MsgBox gibt False oder 0 aus.
Lösung: Überprüfe die PageSetup-Einstellungen. Stelle sicher, dass die Option "Anpassen" nicht aktiviert ist, da dies den Zoomfaktor zurücksetzt.

Fehler 2: Der Zoomfaktor wird nicht korrekt angezeigt.
Lösung: Achte darauf, dass Du den richtigen Arbeitsblattkontext verwendest. Der Code sollte im Kontext des aktiven Arbeitsblatts ausgeführt werden.


Alternative Methoden

Eine andere Möglichkeit, den Zoomfaktor auszulesen, ist die Verwendung von ActiveWindow.Zoom. Beachte jedoch, dass dies den Zoomfaktor des aktuellen Fensters und nicht den im PageSetup anzeigt:

Sub FensterZoom()
    MsgBox ActiveWindow.Zoom
End Sub

Diese Methode ist weniger nützlich, wenn Du den Zoomfaktor für Drucklayouts oder Seitenanpassungen benötigst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den Zoomfaktor für verschiedene Zwecke verwenden kannst:

  1. Anpassung des Drucklayouts: Du kannst den Zoomfaktor ermitteln und dann auf andere Blätter übertragen, um ein einheitliches Drucklayout zu gewährleisten.

  2. Automatische Anpassung: Verwende den ermittelten Zoomfaktor, um die Breite des Dokuments automatisch anzupassen:

    Sub Anpassung()
       Dim z As Double
       z = ActiveSheet.PageSetup.Zoom
       ActiveSheet.PageSetup.Zoom = z
    End Sub

Tipps für Profis

  • Überprüfe regelmäßig die PageSetup-Einstellungen, um sicherzustellen, dass die richtigen Werte verwendet werden, insbesondere wenn Du mit mehreren Blättern arbeitest.
  • Nutze Kommentare im Code, um die Absicht jeder Zeile klar zu machen, besonders wenn Du komplexe Anpassungen vornimmst.
  • Experimentiere mit den Zoom-Einstellungen der Zellen, um das Layout Deines Arbeitsblatts zu optimieren und die Lesbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich den Zoomfaktor für mehrere Blätter gleichzeitig auslesen?
Du kannst eine Schleife verwenden, um durch alle Blätter zu iterieren und den Zoomfaktor auszulesen und anzuzeigen.

2. Funktioniert dieser Code in Excel 2000?
Ja, der bereitgestellte Code sollte auch in Excel 2000 funktionieren, solange die richtigen Objekte und Eigenschaften verwendet werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige