Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ActiveX Scrollbar Wert in Abhängigkeit
#1
Question 
Moin Leute,

ich bin gerade an einem größeren Projekt dran, welches mich dazu zwingt mich ein wenig in VBA reinzuarbeiten. Ein wenig Code für meine ActiveX Steuerelemente die ich verwende, konnte ich auch schon mit Recherche und Hilfe aus diesem Forum lösen.

Ich habe folgendes Problem:

Eine Scrollbar die ich verwende soll entsprechend dem Wert einer Zelle einen bestimmten Wert annehmen, der danach noch veränderbar ist.

Beispiel für den Code welchen ich benötige:

Ich habe in Zelle E1 "Hallo du" stehen. Wenn das der Zelle steht, dann soll der Wert der Scrollbar1 in dem vordefinierten Bereich (über Einstellungen der ActiveX Scrollbar eingestellt) von 1 bis 100 auf 50 eingestellt werden.
Wenn in der Zelle E1 "Hallo ihr" steht, dann soll der Wert auf 60 gesetzt werden.
Wenn nichts in der Zelle E1 steht, soll der Wert auf 75 stehen.
Wenn in Zelle F5 der Wert " Bye" steht, dann soll der Wert der Scrollbar1 auf 40 gesetzt werden. Wenn nichts in der Zelle E1 steht, soll der Wert auf 75 stehen.

Es ist wichtig, dass die Scrollbar1 nach setzen des Wertes weiterhin benutzbar ist, und der Wert der Scrollbar1 noch veränderbar ist.

Dann würde mich noch zusätzlich interessieren wie der Code aussehen müsste, wenn die Werte zur Einstellung in der Scrollbar aus einer bestimmten Zeile in einem anderen Sheet genommen werden.

Ich hoffe ich hab es gut erklärt und mir kann jemand helfen.

Danke schonmal :)
Antworten Top
#2
Hallo,

Code im schon vorhandenen VBA-Modul des entsprechenden Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$E$1" Or Target.Address = "$F$5" Then
   If Range("F5").Value = "Bye" Then
     ScrollBar1.Value = 40
   Else
     Select Case Range("E1").Value
       Case "Hallo du"
         ScrollBar1.Value = 50
       Case "Hallo ihr"
         ScrollBar1.Value = 60
       Case ""
         ScrollBar1.Value = 75
     End Select
   End If
 End If
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • fredrre
Antworten Top
#3
(20.12.2016, 00:17)Kuwer schrieb: Hallo,

Code im schon vorhandenen VBA-Modul des entsprechenden Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$E$1" Or Target.Address = "$F$5" Then
   If Range("F5").Value = "Bye" Then
     ScrollBar1.Value = 40
   Else
     Select Case Range("E1").Value
       Case "Hallo du"
         ScrollBar1.Value = 50
       Case "Hallo ihr"
         ScrollBar1.Value = 60
       Case ""
         ScrollBar1.Value = 75
     End Select
   End If
 End If
End Sub
Gruß Uwe

Hallo Kuwer,

danke dir soweit, jedoch komme ich da noch nicht weiter.

ich war ein wenig beschäftigt die Woche und konnte mich nicht um das Problem kümmern. Ich musste mein Tool aber nochmal anpassen und mal beispielhaft mein Problem nachgebaut (Anhang). Die Originaldatei darf ich leider nicht hochladen.

Ich habe den Code mal für meine Bedürfnisse umgebaut, jedoch läuft dadurch alles andere nicht mehr. Hab ihn mal ausgeklammert im Code

Wenn ich also bei "Auswahl nach Namen" den Button auf ja Setze, dann habe ich das Dropdown. Andersherum habe ich keines. Wenn es auf Nein gesetzt ist, muss in der Scrollbar ein bestimmter Wert stehen. Andersherum müssen entsprechend der Namen Werte in der Scrollbar eingestellt werden. Mich interessiert auch mal wie man das lösen könnte wenn man Werte aus einer bestimmten Zelle als Einstellung nimmt.

Darüberhinaus kriege ich es einfach nicht hin die Zeile 8 Auszublenden, wenn ich das Kästchen in B2 aktiviere.

Im Grunde muss ich zudem auch noch die zweite Scrollbar entsprechend der "Namen" zu den Kaufpreisen ändern ( in Tabellensheet 2).

Ich hoffe Ihr/ du kannst mir dabei helfen. Google ist mittlerweile auch nicht mehr mein Freund :D

LG


Angehängte Dateien
.xlsm   Problemdatei.xlsm (Größe: 30,05 KB / Downloads: 7)
Antworten Top
#4
Hallöchen,

Zitat:Mich interessiert auch mal wie man das lösen könnte wenn man Werte aus einer bestimmten Zelle als Einstellung nimmt.

z.B. im Prinzip so:
ScrollBar1.Value = Range("D2").Value

Wobei in D2 dann natürlich eine für die Scrollbar verwertbare Zahl stehen sollte ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • fredrre
Antworten Top
#5
Hallo Frederic,

teste es mal so (bisherigen Code komplett ersetzen!):

Private Sub ComboBox1_Change()
 Range(ComboBox1.LinkedCell).Value = Range(ComboBox1.LinkedCell).Value
End Sub

Private Sub OptionButton1_Change()
 ComboBox1.Visible = OptionButton1
 Range("D2") = ""
End Sub

Private Sub OptionButton2_Click()
 Range(OptionButton2.LinkedCell).Value = Range(OptionButton2.LinkedCell).Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$D$2" Or Target.Address = "$C$3" Then
   If Range("C3").Value = True Then
     ScrollBar1.Value = ScrollBar1.Min
     ScrollBar2.Value = ScrollBar2.Min
   Else
     If Not IsEmpty(Range("D2")) Then
       ScrollBar1.Value = Application.VLookup(Range("D2").Value, Worksheets("Tabelle2").Range("A6:C8").Value, 2, 0)
       ScrollBar2.Value = Application.VLookup(Range("D2").Value, Worksheets("Tabelle2").Range("A6:C8").Value, 3, 0)
     End If
   End If
 End If
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • fredrre
Antworten Top
#6
Smile 
Hallo und sorry für die späte Antwort.

Vielen, vielen Dank das Problem hat sich perfekt mit dem Code von Kuwer gelöst!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste