Live-Forum - Die aktuellen Beiträge
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
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

3 Forumthreads zu ähnlichen Themen


Hallo VBA Experten,
bitte heute um Hilfe.ich schaue mir gerade die Funktion xlCellTypeVisible an.
Da bin ich dann auf die F2 im VBA Editor gekommen und von da aus komme ich ja im VBA Editor in eine andere Ansicht.
Könnte mir das jemand erklären an einem oder vielleicht mehreren Beis...
Anzeige
Hi Leute,
Da ich sehr regelmässig aktuelle Zahlen/Fakten zur Hand haben muss, nutze ich unten stehenden Code um mir ebendiese als Bild auf den Desktop zu holen. Mit Click auf einen Button werden die Zahlen auf dem Desktop dann jeweils aktualisiert.
Nun habe ich beim letztmaligen Öffnen der D...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige