Microsoft Excel

Herbers Excel/VBA-Archiv

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

Toogle-Button als Zoom | Herbers Excel-Forum


Betrifft: Toogle-Button als Zoom von: Rainer
Geschrieben am: 15.11.2009 12:08:54

Hallo,

kann als VBA-Laie hiermit https://www.herber.de/mailing/229904h.htm
leider nichts anfangen.

Der Toogle-Button müsste doch abwechselnd funktionieren oder?

Habe eine Anwendung mit Bildschirmauflösung 1280x1024 erstellt.
Bei Zoom auf 85% wäre dann für 1024x768 eine bessere Darstellung. Diese würde ich dem Anwender _
gerne anbieten.


Private Sub ToggleButton1_Click()

    ActiveWindow.Zoom = 85

End Sub
Was muss ich eingeben, damit ich dann wieder auf 100% wechsle?

  

Betrifft: AW: Toogle-Button als Zoom von: Christian
Geschrieben am: 15.11.2009 12:16:19

Hallo Rainer,
Was muss ich eingeben, damit ich dann wieder auf 100% wechsle?

- die Anweisung für 100%.
zB so:

Private Sub ToggleButton1_Click()
    If ActiveWindow.Zoom = 85 Then
        ActiveWindow.Zoom = 100
    Else
        ActiveWindow.Zoom = 85
    End If
End Sub

Gruß
Christian


  

Betrifft: AW: Toogle-Button als Zoom von: Tino
Geschrieben am: 15.11.2009 12:17:32

Hallo,
vielleicht so.

Private Sub ToggleButton1_Click()
With ToggleButton1
    If .Value Then
     .Caption = "Ansicht 85%"
     ActiveWindow.Zoom = 85
    Else
     .Caption = "Ansicht 100%"
     ActiveWindow.Zoom = 100
    End If
End With
End Sub
Gruß Tino


  

Betrifft: nach geschmackt... von: Tino
Geschrieben am: 15.11.2009 12:20:35

Hallo,
kannst Du auch den Text umdrehen, dass dies angezeigt wird wo als nächstes hin geschaltet wird.

Private Sub ToggleButton1_Click()
With ToggleButton1
    If .Value Then
     .Caption = "Ansicht auf 100%"
     ActiveWindow.Zoom = 85
    Else
     .Caption = "Ansicht suf 85%"
     ActiveWindow.Zoom = 100
    End If
End With
End Sub
Gruß Tino


  

Betrifft: AW: nach geschmackt... von: Rainer
Geschrieben am: 15.11.2009 12:34:30

Hallo Tino,

danke für die Hinweise.

Hatte mich allerdings entschieden, ein Menu mit Bitmap's zu versenden, so dass ich eh nur die Lupe die MS verwendet anzeige.

Über den Button's ist ein Label stehend und enthält für den Toogle-Button einfach nur ZOOM.

Für's lernen allerdings sehr hilfreich.

Gruß
Rainer


  

Betrifft: ok. schöner Sonntag noch. oT. von: Tino
Geschrieben am: 15.11.2009 12:38:10




  

Betrifft: AW: Toogle-Button als Zoom von: Rainer
Geschrieben am: 15.11.2009 12:29:53

Hallo Christian,
hallo Tino,

vielen Dank für Eure Codes. Klappt.

Gruß Rainer


  

Betrifft: AW: Toogle-Button als Zoom von: Rainer
Geschrieben am: 16.11.2009 17:49:40

Hallo,

brauche nochmal Eure Hilfe.

Habe den Code bei zwei Arbeitsblättern eingesetzt. In beiden nennt er sich ToogleButton1.

Nun hätte ich gerne, dass mir beide Blätter gleichzeitig umgestellt werden.

Da ich heute schon mal Schützenhilfe von René bekommen habe, in welchem alle Blätter angesprochen wurden, müsste es doch so klappen:

Private Sub ToggleButton1_Click()
    
    Dim Blatt As Object
    Dim AktivesBlatt As String
    
    AktivesBlatt = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    For Each Blatt In Worksheets
    With ToggleButton1
        If .Value Then
         .Caption = "Ansicht 85%"
         ActiveWindow.Zoom = 85
        Else
         .Caption = "Ansicht 100%"
         ActiveWindow.Zoom = 100
        End If
    End With
    Next Blatt
    
    Sheets(AktivesBlatt).Activate
    Application.ScreenUpdating = True
    
End Sub
Alternative und vermutlich schneller wäre wohl einfach nur die beiden Arbeitsblätter anzusprechen. Allerdings bräuchte ich eben da nochmal Eure Hilfe.

Gruß Rainer


  

Betrifft: AW: Toogle-Button als Zoom von: Rainer
Geschrieben am: 16.11.2009 18:04:15

Hallo,

da ich in der Originaltabelle nicht testen wollte, habe ich den Code in einem neuen Sheet getestet.

Leider klappt es so nicht.

Es wird nach wie vor nur im jeweils aktiven Blatt geändert. Folglich geht Next Blatt in diesem Fall nicht.

Gruß Rainer


  

Betrifft: versuche es mal so von: Tino
Geschrieben am: 16.11.2009 18:17:45

Hallo,
vielleicht geht es so.

Private Sub ToggleButton1_Click()
Dim Blatt As Object
Dim AktivesBlatt As String
Dim sArTab(), actTab As Worksheet

sArTab = Array("Tabelle1", "Tabelle1") 'Deine Tabellen
Set actTab = ActiveSheet 'Deine aktive Tabelle

Application.ScreenUpdating = False

    With ToggleButton1
        If .Value Then
         .Caption = "Ansicht 85%"
         Sheets(sArTab).Select
         ActiveWindow.Zoom = 85
         actTab.Select
        Else
         .Caption = "Ansicht 100%"
         Sheets(sArTab).Select
         ActiveWindow.Zoom = 100
         actTab.Select
        End If
    End With


Application.ScreenUpdating = True

End Sub
Gruß Tino


  

Betrifft: AW: versuche es mal so von: Rainer
Geschrieben am: 16.11.2009 18:36:08

Hallo Tino,

klappt.

Allerdings wäre falls möglich, eine kleine Kosmetik anzubringen.

Wenn ich von Tabelle1 klicke wird die Ansicht bei beiden auf 85% umgestellt, der ToggleButton bleibt jedoch auf 100%.

Muss dann zur Umstellung zweimal geklickt werden.
Habe die zwar noch .Value = False eingefügt, brach aber fürchterlich ab.
Vermutlich hatte ich es an falscher Stelle eingefügt.

Aber grundsätzlich funktioniert es und da ich Bitmaps verwende auch kein Problem.

Gruß und vielen Dank
Rainer


  

Betrifft: hier ein Beispiel... von: Tino
Geschrieben am: 16.11.2009 19:00:31

Hallo,
der eigendliche Code is im Modul1.

https://www.herber.de/bbs/user/65957.xls

Gruß Tino


  

Betrifft: AW: hier ein Beispiel... von: Rainer
Geschrieben am: 16.11.2009 19:15:19

Hallo Tino,

einwandfrei.

Gruß und danke

Rainer