AW: scrollbar über add Methode in Userform Wert auslesen
28.02.2024 23:47:33
Alwin Weisangler
Hallo Basti,
wenn du die Werte in Echtzeit während der Bewegung des Schiebers des Scrollbar-Objekts auslesen willst, dann beispielhaft so:
Private Sub ScrollBar1_Scroll()
Label1 = ScrollBar1.Value
End Sub
Da du aber den ScrollBar-Control in Laufzeit erzeugst, musst du dir eine Klasse bauen.
ins Modul der UserForm:
Option Explicit
Dim cSbar() As New cls_Scrollbar
Dim myScrollbar As Object
Sub ScrollbarHinzufuegen()
Set myScrollbar = UserForm1.Controls.Add("Forms.ScrollBar.1", "myScrollbar", True)
With myScrollbar
.Left = 10 ' X-Koordinate
.Top = 10 ' Y-Koordinate
.Width = 20 ' Breite
.Height = 100 ' Höhe
.Min = 0 ' Minimalwert
.Max = 100 ' Maximalwert
.SmallChange = 1 ' Schrittweite
.LargeChange = 10 ' Große Schrittweite
End With
End Sub
Private Sub UserForm_Initialize()
Dim CoSbar As Control, i As Long
ScrollbarHinzufuegen
For Each CoSbar In Me.Controls
If TypeOf CoSbar Is MSForms.Scrollbar Then
ReDim Preserve cSbar(0 To i)
Set cSbar(i).Scrollbar = CoSbar
i = i + 1
End If
Next CoSbar
End Sub
Klassenmodul cls_Scrollbar:
Option Explicit
Public WithEvents Scrollbar As MSForms.Scrollbar
Private Sub Scrollbar_Scroll()
UserForm1.Label1 = Scrollbar.Value
End Sub
https://www.herber.de/bbs/user/167404.xlsm
Gruß Uwe