scrollbar_change event
04.01.2023 16:11:31
Morris
ich benötige Hilfe bei folgendem Problem.
In einem Arbeitsblatt soll das Verschieben der applikationseigenen horizontalen Scrollbar von Excel (kein eingefügtes Steuerelement) eine Prozedur / Event auslösen. Fenster ist bei Zelle F6 fixiert.
Sub ScrollBar1_Change()
'[B1].Value = ActiveWindow.ScrollColumn 'als Programmierhilfe Zwischenablage zum Prüfen der Position
If ActiveWindow.ScrollColumn = 186 Then
CB_ErstesHalbjahr.Visible = True
CB_ZweitesHalbjahr.Visible = False
End If
End Sub
Folgendes Ergebnis erhoffe ich mir:Nach Verschieben der horizontalen Scrollbar auf meinem Arbeitsblatt und loslassen der Maustaste soll Excel die neue "ScrollBarPosition" erkennen (ganz links wäre Spalte 6) und CmdBtn (CB_Erstes...) sichtbar bzw. unsichtbar machen. Hintergrund ist, dass ich eine Datei habe, die nach rechts recht weit ausladend ist. Klicke ich auf den jeweiligen Button, selektiere ich eine bestimmte zuvor zugewiesene Zelle. Es sollen jeweils der Button für ganz links oder ganz rechts meiner Datentabelle angezeigt werden, je nachdem wo ich mich mit der Scrollbar befinde.
Problem bisher:
Verschiebe ich die Scrollbar und starte das Makro manuell, läuft es. Nun soll das Makro bei Veränderung der ScrollBarPosition aber automatisch starten und weitere Events auslösen. Ich würde es auch auch in nachfolgendes Makro einbauen...
option explicit
dim Jahr as Date
Sub Worksheet_Change(ByVal ZielAs Range)
'PerfEin 'Schaltet das Performance Makro ein
Jahr = "01.01." & Range("A1")
If Ziel = Range("A1") Then
If Jahr Mod 4 0 Then
Columns("BM:BM").EntireColumn.Hidden = True
Else: Columns("BM:BM").EntireColumn.Hidden = False
End If
End If
'PerfAus 'Schaltet das Performance Makro wieder aus
End Sub
...wenn ich denn nur wüsste wie.Ich bin hier im Forum leider nicht fündig geworden und für jede Hilfe dankbar. Meine VBA Kenntnisse sind sehr dürftig, in Grundzügen jedoch vorhanden.
Gruß
Morris