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

Zomm auf Zelle

Forumthread: Zomm auf Zelle

Zomm auf Zelle
13.12.2019 11:49:35
MaBlu
Hallo
ich habe eine Liste in der die Zeile 13 sehr kleinen Text hat und man je nach Bildschirm diesen nicht richtig lesen kann!
Nun wäre mein Ansatz dass wenn ich in eine Zelle auf besagter Zeile 13 klicke diese Zelle auf Zoom 150% gestellt wird, wenn man wieder eine andere Zelle wählt ( nicht Zeile 13 alles wieder auf vorher zurückgestellt wird).
Da meine Marktkenntnisse sehr Bescheiden sind bin ich auf eure Hilfe angewiesen.
Ich nehme auch gerne andere Vorschläge an die zum Lesen der Zelle führen würden.
Wie müsste das Makro aussehen?
MaBlu
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zomm auf Zelle
13.12.2019 12:04:40
Pierre
Hallo MaBlu,
zwei Möglichkeiten:
1. zoomt die gesamte Mappe auf gewünschten Wert:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim intzoom As Integer
Set Target = Intersect(Range("13:13"), Target)
intzoom = 100
If Not Target Is Nothing Then
If ActiveWindow.Zoom = intzoom Then
intzoom = ActiveWindow.Zoom
End If
ActiveWindow.Zoom = 150
Else
ActiveWindow.Zoom = intzoom
End If
End Sub
(geklaut :D )
2. zoomt nur die beschriebene Zelle, allerdings in dieser Version auf dem gesamten Blatt. Dazu bitte mal auf folgende Seite: https://www.extendoffice.com/de/documents/excel/4593-excel-zoom-selected-cell.html
Finde ich eigentlich ne coole Variante.
Gruß Pierre
Anzeige
AW: Zomm auf Zelle
13.12.2019 12:46:48
MaBlu
Hallo Pierre
Danke vor allem der Link auf die Seite ist sehr Interessant.
Gruss MaBlu
AW: Zomm auf Zelle
13.12.2019 12:11:36
EtoPHG
Hallo Ma...
z.B. so in das entsprechende Tabellenblatt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWindow.Zoom = IIf(Target.Row = 13, 150, 100)
End Sub
Gruess Hansueli
Anzeige
AW: Zoom auf Zelle
13.12.2019 12:45:29
MaBlu
Hallo Ihr seit ja Superkerle
ich suche eine Lösung und finde keine ihr bringt mir grad mehrere....
soweit geht alles bloß wenn ich nicht mit 100% starte und nach der Vergrößerung auf 150% wieder zurückkehre stellt es den Wert immer auf 100%, gibt es da noch eine Lösung dass der ursprüngliche Wert wieder einkehrt?
Vielen Dank und Gruss MaBlu
Anzeige
AW: Zoom auf Zelle
13.12.2019 12:26:35
Rudi
Hallo,
noch einer:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWindow.Zoom = 150 + 50 * (Target.Row  13)
End Sub

Gruß
Rudi
AW: Zoom auf Zelle
13.12.2019 12:47:31
MaBlu
Hallo Ihr seit ja Superkerle
ich suche eine Lösung und finde keine ihr bringt mir grad mehrere....
soweit geht alles bloß wenn ich nicht mit 100% starte und nach der Vergrößerung auf 150% wieder zurückkehre stellt es den Wert immer auf 100%, gibt es da noch eine Lösung dass der ursprüngliche Wert wieder einkehrt?
Vielen Dank und Gruss MaBlu
Anzeige
AW: Zoom auf Zelle
13.12.2019 15:28:03
EtoPHG
Hallo,
Dann probier es mal so:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static defZoom
If IsEmpty(defZoom) And Target.Row  13 Then
defZoom = ActiveWindow.Zoom
Else
ActiveWindow.Zoom = IIf(Target.Row = 13, 150, defZoom)
End If
End Sub
Gruess Hansueli
Anzeige
AW: Zoom auf Zelle
13.12.2019 15:42:16
MaBlu
Hallo Hansueli
habe es probiert, leider geht er immer wieder auf 100% zurück.
Aber sonst geht alles so wie gewünscht.
Gruss MaBlu
AW: Zoom auf Zelle
13.12.2019 16:44:29
Firmus
Hallo MaBlu,
probier mal untenstehenden Code.
Um die existierende Zoomeinstellung zu bewahren wird ein nicht sichtbares Textfeld erzeugt.
Solange du in Zeile 13 bleibst, bleibt Zoom-150 erhalten.
Sobald du in eine andere Zeile klickst, wird die aufbewahrte Zoomeinstellung wieder eingesetzt und das Textfeld wieder gelöscht.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long, Z_150_ON As Long
Z_150_ON = 0
For i = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(i).Name = "zoom_zeile13" Then Z_150_ON = i
'ActiveSheet.Shapes(i).Delete       'für Debug
Next i
If ActiveCell.Row  13 And Z_150_ON  0 Then
'Klick ausserhalb Zeile 13, aber Vergrößerung ist noch gesetzt, also zurücksetzen
ActiveWindow.Zoom = ActiveSheet.Shapes(Z_150_ON).AlternativeText
ActiveSheet.Shapes(Z_150_ON).Delete
Exit Sub
End If
If ActiveCell.Row = 13 And Z_150_ON = 0 Then
'Vergrößerung noch nicht gesetzt, also aktuellen Wert vorher in TEXT sichern.
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 0, 0).Select
Selection.ShapeRange(1).Name = "zoom_zeile13"
Selection.ShapeRange(1).AlternativeText = ActiveWindow.Zoom
ActiveWindow.Zoom = 150
Exit Sub
End If
End Sub
Gruß,
Firmus
Anzeige
AW: Zoom auf Zelle gelöst!
13.12.2019 17:32:57
MaBlu
Hi Firmus
das genau ist es was ich möchte vielen Dank und ein schönes Wochenende.
Gruss MaBlu
;
Anzeige

Infobox / Tutorial

Zomm auf Zelle


Schritt-für-Schritt-Anleitung

Um die Funktionalität zu erstellen, dass beim Klicken auf eine bestimmte Zelle (z.B. in Zeile 13) das Zoomlevel auf 150% eingestellt wird, kannst du folgenden VBA-Code verwenden:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Wähle das entsprechende Arbeitsblatt aus, in dem du diese Funktion implementieren möchtest.
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static defZoom
    If IsEmpty(defZoom) And Target.Row <> 13 Then
        defZoom = ActiveWindow.Zoom
    Else
        ActiveWindow.Zoom = IIf(Target.Row = 13, 150, defZoom)
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.
  2. Teste die Funktion, indem du auf Zellen in Zeile 13 klickst und beobachte, wie der Zoom sich ändert.

Häufige Fehler und Lösungen

  • Problem: Der Zoom springt immer wieder auf 100%.

    • Lösung: Stelle sicher, dass der Code korrekt eingefügt wurde und dass du beim ersten Klick in eine andere Zeile als 13 bist. Der ursprüngliche Zoomwert wird nur gespeichert, wenn du nicht in Zeile 13 klickst.
  • Problem: Der Code funktioniert nicht in bestimmten Excel-Versionen.

    • Lösung: Überprüfe, ob die Makros in deiner Excel-Version aktiviert sind. Gehe zu den Excel-Optionen und aktiviere die Makros, falls nötig.

Alternative Methoden

Wenn du die gesamte Arbeitsmappe vergrößern möchtest, kannst du diesen Code verwenden:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim intzoom As Integer
    intzoom = 100
    If Not Intersect(Range("13:13"), Target) Is Nothing Then
        ActiveWindow.Zoom = 150
    Else
        ActiveWindow.Zoom = intzoom
    End If
End Sub

Diese Methode zoomt die ganze Mappe und nicht nur die Zelle, was für einige Benutzer möglicherweise praktischer sein könnte.


Praktische Beispiele

Hier sind einige Beispiele, die du ausprobieren kannst:

  1. Zoom auf bestimmten Bereich: Wenn du ein großes Datenblatt hast und nur auf bestimmte Zellen zoomen möchtest, kannst du den Code entsprechend anpassen, um auch andere Zeilen oder Spalten einzubeziehen.

  2. Verwendung von Excel Shortcuts: Du kannst die Funktion mit Excel Shortcuts kombinieren, um das Zoomen schneller zu machen. Zum Beispiel könntest du CTRL + Z verwenden, um schnell zurück zu einer vorherigen Ansicht zu gelangen.


Tipps für Profis

  • Verwende die Option Explicit Direktive: Diese Direktive zwingt dich, alle Variablen zu deklarieren, was die Fehlersuche erleichtert.
  • Nutze das Static Schlüsselwort: So bleibt der ursprüngliche Zoomwert auch nach mehreren Änderungen erhalten, was die Benutzererfahrung verbessert.
  • Teste deine Makros: Probiere deine Makros in verschiedenen Szenarien aus, um sicherzustellen, dass sie unter allen Umständen funktionieren.

FAQ: Häufige Fragen

1. Kann ich den Zoom auch auf andere Werte einstellen?
Ja, du kannst die Zahl 150 im Code durch jeden anderen Wert ersetzen, um den gewünschten Zoomlevel einzustellen.

2. Funktioniert das Makro auch in Excel Online?
Leider unterstützen die Online-Versionen von Excel keine VBA-Makros. Du musst die Desktop-Version verwenden.

3. Wie kann ich das ursprüngliche Zoomlevel speichern?
Das Beispiel mit dem Static defZoom speichert den ursprünglichen Wert, sodass du ihn später wiederherstellen kannst, wenn du die Zelle verlässt.

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