Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

scrollbar über add Methode in Userform Wert auslesen

scrollbar über add Methode in Userform Wert auslesen
28.02.2024 15:20:25
Basti92
Hallo zusammen.

ich habe folgendes Problem:

ich habe eine Userform erstellt und über ein Modul eine scrollbar hinzugefügt (mit der add-Methode, also nicht manuell). Ich finde keine Möglichkeit auf den Wert der scrollbar zuzugreifen, wenn sich die scrollbar ändert. Bekomme also nur den Startwert heraus.

Hat jemand eine Idee, wie ich auf den veränderten Wert zugreifen kann?
ich würde es ungern manuell einfügen, da ich die scrollbar mehrfach generiere

LG
Basti

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: scrollbar über add Methode in Userform Wert auslesen
28.02.2024 15:23:35
Onur
Mache es einfach manuell in der Designzeit und nicht in der Laufzeit.
AW: scrollbar über add Methode in Userform Wert auslesen
28.02.2024 17:54:04
Basti92
Danke für die Antwort. Das ist natürlich eine Möglichkeit, aber es gibt doch sicherlich noch eine Lösung wie ich eine Veränderung der Scrollbar direkt auslesen kann, ohne dies immer wieder abzufragen
AW: scrollbar über add Methode in Userform Wert auslesen
28.02.2024 18:13:02
Onur
Natürlich mit "Private Sub ScrollBar_Change()". Müsstest du doch wissen mit "Excel gut".
AW: scrollbar über add Methode in Userform Wert auslesen
28.02.2024 21:02:13
Basti92
Change habe ich natürlich als erstes probiert, allerdings klappt es nicht. Die Scrollbar verändert sich ohne, dass sie angesteuert werden kann. Mehr oder weniger so habe ich es gemacht. Verstehe meinen Fehler nicht?

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

Sub myScrollbar_Change()
' Hier kannst du den Wert der Scrollbar verwenden
Dim scrollbarWert As Long
scrollbarWert = myScrollbar.Value
MsgBox "Scrollbar-Wert: " & scrollbarWert
End Sub
Anzeige
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
Anzeige
AW: scrollbar über add Methode in Userform Wert auslesen
29.02.2024 08:56:22
Alwin Weisangler
Wenn es wirklich nur bei einem Scrollbar-Control bleibt, ist das Einlesen ins Datenfeld in Schleife nicht nötig.
das wäre dann so:


ReDim cSbar(0): Set cSbar(0).Scrollbar = myScrollbar


Wenn du einen Wert dem Scrollbar-Control zuweisen willst (beispielhaft mit einer Textbox), dann so:


Private Sub TextBox1_Change()
If TextBox1 > "" Then
Controls("myScrollbar") = TextBox1
Else
Controls("myScrollbar") = 0
End If
End Sub


Gruß Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige