Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
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
Inhaltsverzeichnis

Scrollrow richtig anwenden

Scrollrow richtig anwenden
20.10.2017 17:38:00
EasyD
Hallo zusammen
ich versuche mal mein Problem zu schildern. Leider kann ich die Arbeitsmappe nicht hochladen, da vertraulich. Anonymisieren wäre mit sehr viel Arbeit verbunden. Also:
Ich habe ein Blatt mit 20 Togglebuttons. Die Togglebuttons blenden bei Klick einen gewissen Bereich an Zeilen aus oder wieder ein. Insgesamt reden wir hier von 261 Zeilen. Von diesen Zeilen blendet je ein Togglebutton einen definierten Bereich von jeweils 18 Zeilen ein und aus.
Ich möchte, dass dieser Bereich von 18 Zeilen die zu diesem bestimmten Togglebutton "gehören", beim einblenden der Zeilen (Klick auf den Button) immer in der Mitte des Fensters angezeigt werden. Wird der Button wieder zum ausblenden geklickt, soll wieder ganz nach oben gescrollt werden.
Meine Lösung bisher:
Private Sub ToggleButton14_Click()
'Den Button positionieren (andernfalls willkürliches Verschieben des Buttons)
ToggleButton14.Left = Cells(232, 3).Left
ToggleButton14.Top = Cells(232, 3).Top
If ToggleButton14 = True Then
'den Button formatieren
ToggleButton14.Caption = "Ein"
ToggleButton14.BackColor = RGB(0, 255, 0)
'..... jetzt kommt diverses kopieren und einfügen - nicht die Problemstellung
'die Zeilen einblenden
ActiveSheet.Rows("233:247").EntireRow.Hidden = False
Else
'... wieder diverses kopieren und einfügen
'die Zeilen ausblenden
ActiveSheet.Rows("233:247").EntireRow.Hidden = True
End If
'hier das Problem - wenn die Zeilen ausgeblendet sind ganz nach oben (Zeile 3)
'wenn NICHT ausgeblendet, dann in die Mitte des Fensters - Zeile 105 ist NICHT die Lösung, war  _
nur ein Versuch
If ActiveSheet.Rows("233:247").EntireRow.Hidden = False Then
With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 105
End With
Else
With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 3
End With
End If
End Sub

Fällt da jemandem etwas eleganteres ein?
Das Problem habe ich wie gesagt mit 20 Togglebuttons im Zeilenbereich 3 bis 264. Wenn alle Zeilen ausgeblendet sind, passt der gesamte Eingabebereich inklusive aller Buttons wunderbar in ein Fenster. Der klick auf den jeweiligen Button soll halt die Zeilen einblenden und genau diese Zeilen in die Mitte des Fensters rücken.
Ideen?
Danke im Voraus!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Scrollrow richtig anwenden
20.10.2017 18:54:58
onur

If ToggleButton14 = True Then
'den Button formatieren
ToggleButton14.Caption = "Ein"
ToggleButton14.BackColor = RGB(0, 255, 0)
'..... jetzt kommt diverses kopieren und einfügen - nicht die Problemstellung
'die Zeilen einblenden
ActiveSheet.Rows("233:247").EntireRow.Hidden = False
ActiveWindow.ScrollColumn = 233
Else
'... wieder diverses kopieren und einfügen
'die Zeilen ausblenden
ActiveSheet.Rows("233:247").EntireRow.Hidden = True
ActiveWindow.ScrollColumn = 1
End If

AW: Scrollrow richtig anwenden
20.10.2017 19:52:59
EasyD
oh mann... natürlich....
wie einfach!
Dank Dir!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige