Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zoom sperren

Zoom sperren
13.10.2005 08:32:03
Kira
Hallo,
ich habe einen Code, mit dem ich den Zoom aller Blätter in der Arbeitsmappe mit Workbook_Open je nach Bildschirm anpasse, sodass immer die Spalten A-N angezeigt werden.
Ist der Zoom dann z.b. 86% möchte ich die Zoomauswahl in der Symbolleiste, die kleiner als 86% ist, sperren. Werte die darüber liegen dürfen aber gezoomt werden. Den aktuellen Zoom auszulesen sollte ja machbar sein, nur bin ich auf keine weitere Lösung gekommen, die funktioniert hat.
Geht das überhaupt und wenn ja, wie?
Freu mich auf Antworten.
Gruß
Kira

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zoom sperren
13.10.2005 10:44:21
Heiko
Hallo Kira,
da es meines Wissens kein Ereignis gibt das ausgelöst wird wenn du den Zoom veränderst kann man das wohl nicht überwachen.
Aber man kann den Zoom komplett sperren, z.B. so.

Sub Zoom_Ein()
Application.CommandBars("Standard").FindControl(, 1733).Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Controls("Zoom...").Enabled = True
End Sub


Sub Zoom_Aus()
Application.CommandBars("Standard").FindControl(, 1733).Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Controls("Zoom...").Enabled = False
End Sub

Das dann im Workbook_Open und _BeforeClose aufrufen.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Zoom sperren
13.10.2005 10:44:39
Nepumuk
Hi,
das geht nicht. Du musst die Combobox auf Enabled = False setzen und eine eigene einbauen.
Gruß
Nepumuk

AW: Zoom sperren
13.10.2005 11:15:03
Kira
Hallo,
ok, das geht also so nicht.
Und wie schaut es aus, wenn ich die zwei Buttons mit der +/-Lupe, die es unter Anpassen gibt, in die Symbolleiste einfüge und denen entsprechende Makros zuweise? In etwa so, dass der aktuelle Zoomwert ausgelesen wird. In diesem Fall ist die -Lupe gleich gesperrt. Klickt man auf die +Lupe vergrößert sich die Ansicht und die andere Lupe wird wieder aktiviert, so lange, bis der ursprüngliche Zoomwert über entsprechende Lupenklicks wieder hergestellt ist.
Sinn der Sache soll eben sein, dass beim Öffnen der Mappe die Spalten A-N immer komplett angezeigt werden, aber nie mehr Spalten zu sehen sein dürfen. Es darf also kein kleinerer Zoomfaktor als der, der beim Öffnen erscheint, möglich sein.
Gruß
Kira
Anzeige
AW: Zoom sperren
13.10.2005 11:52:23
Nepumuk
Hi,
einfaches Beispiel:
Option Explicit

Private Const ZOOM_MIN = 86&

Public Sub prcOff()
    Dim objControls As CommandBarControls, objControl As CommandBarControl
    Dim objComboBox As CommandBarComboBox
    Set objControls = CommandBars.FindControls(ID:=925)
    For Each objControl In objControls
        objControl.Visible = False
    Next
    Set objControls = CommandBars.FindControls(ID:=1733)
    For Each objControl In objControls
        objControl.Visible = False
    Next
    Set objComboBox = CommandBars(3).Controls.Add(Type:=msoControlComboBox, Temporary:=True)
    With objComboBox
        .AddItem CStr(ZOOM_MIN) & "%"
        .AddItem "100%"
        .AddItem "200%"
        .Text = CStr(ActiveWindow.Zoom) & "%"
        .Caption = "Zoom_Neu"
        .OnAction = "prcZoom"
    End With
End Sub

Public Sub prcOn()
    Dim objControls As CommandBarControls, objControl As CommandBarControl
    Set objControls = CommandBars.FindControls(ID:=925)
    For Each objControl In objControls
        objControl.Visible = True
    Next
    Set objControls = CommandBars.FindControls(ID:=1733)
    For Each objControl In objControls
        objControl.Visible = True
    Next
    CommandBars(3).Controls("Zoom_Neu").Delete
End Sub

Public Sub prcZoom()
    If Val(CommandBars.ActionControl.Text) >= ZOOM_MIN Then
        If Val(CommandBars.ActionControl.Text) <= 400 Then
            ActiveWindow.Zoom = Val(CommandBars.ActionControl.Text)
        Else
            MsgBox "Nicht mehr als 400%", 16, "Warnung"
        End If
    Else
        MsgBox "Nicht weniger als " & CStr(ZOOM_MIN) & "%", 16, "Warnung"
    End If
    CommandBars.ActionControl.Text = CStr(ActiveWindow.Zoom) & "%"
End Sub

Gruß
Nepumuk

Anzeige
AW: Zoom sperren
13.10.2005 12:40:56
Kira
Hallo Nepumuk,
also einfach find ich den Code nicht gerade, genauer gesagt blick ich da nicht wirklich durch.
Es gibt doch sicher die Möglichkeit, einer Schaltfläche einen Code mit entsprechendem Zoom zuzuweisen, dass bei Klick z.b. immer +10%/-10% vergrößert/verkleinert wird. Nur werde ich in der Recherche diesbezüglich irgendwie nicht fündig.
Vielleicht kannst du mir helfen, Stück für Stück an die Sache heranzugehn, damit ich bei Bedarf am Ende auch noch Änderungen vornehmen kann.
Würde mich jedenfalls riesig freuen, wenn du mir weiterhelfen würdest!
Gruß
Kira
AW: Zoom sperren
13.10.2005 12:57:58
Nepumuk
Hi,
mit zwei Buttons ist es aber mehr Aufwand, wie das simulieren der "normalen" Zoom - Funktion. Willst du das wirklich, oder soll ich dir mal eine Mustermappe machen, in der mein erster Vorschlag eingebaut ist? Da wäre es gut, wenn ich deinen Code zur Ermittlung des minimalen Zooms kennen würde, dann kann ich das mit nutzen.
Gruß
Nepumuk

Anzeige
AW: Zoom sperren
13.10.2005 13:07:39
Kira
Hallo Nepumuk,
also bisher hab ich nur mit folgendem Code gearbeitet:

Sub Workbook_Open()
On Error Resume Next
Dim i As Byte, s As Byte
i = ActiveWindow.Zoom
Application.ScreenUpdating = False
For s = 1 To Worksheets.Count
Worksheets(s).Activate
Range("A1:N1").Select
ActiveWindow.Zoom = True
Range("A1").Select
Next
Application.ScreenUpdating = True
End Sub

Bin mir da jetzt nicht mehr so sicher, ob ich jetzt +/-Button bevorzugen soll oder das übliche. Das entscheidet letztendlich wohl die Benutzerfreundlichkeit. Auf alle Fälle darf eben der beim Öffnen erscheinende Zoomfaktor nicht unterschritten werden.
Gruß
Kira
Anzeige
AW: Zoom sperren
13.10.2005 14:08:10
Kira
Hallo Nepumuk,
vielen Dank erstmal für deine Mühe! Werde mir das mal genauer unter die Lupe nehmen und in den nächsten Tagen dann entscheiden, wie ich das endgültig lösen werde.
Wahrscheinlich wird es aber doch auf zwei Schaltflächen mit + und - hinauslaufen, da ich das einfach benutzerfreundlicher und passender finde.
Werde mich aber auf alle Fälle wieder im Forum melden, würde mich freuen, wenn du mir dann wieder unter die Arme greifen würdest.
Gruß und nochmals Danke
Kira
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige