Schieberegler Excel 2010

wuumbs

Cadet 4th Year
Registriert
Okt. 2010
Beiträge
93
Hallöchen zusammen!

Ich habe vorhin ein mathematisches Excel Sheet erstellt. Nähere Infos zum Inhalt erspare ich mir, da es wirklich nur mathematisches blabla ist.
Der Kern ist im Prinzip, dass man 5 Punkte in Form von x und y Koordinate angibt (im vordefinierten Bereich von -10 bis +10). Diese 5 Punkte werden dann mit einzelnen Geraden miteinander verbunden.
Durch einen mathematischen Algorithmus interpoliere ich eine Kurve, die diese 5 Punkte als sogenannte Kontrollpunkte besitzt.

Bilder sagen mehr als 1000 Worte, hier mal ein Screenshot:
Unbenannt.png

Wenn ich jetzt die Punkte ändern möchte, müsste ich in die Zelle gehen und den Wert ändern. Dann ändert sich natürlich auch direkt der Graph.
Das Ganze würde ich jetzt gerne mit den Schiebereglern realisieren. Leider habe ich es stundenlang versucht und komme zu keinem vernünftigen Ergebnis.

Theoretisch müsste ich jeder Zelle, also jedem der 5 x-Werte und jedem der 5 y-Werte einen Regler zuweisen.
Äußerst unelegant wie ich finde...
Nun habe ich mal bei meinem Professor gesehen, dass er ein ähnliches Excel-Sheet hatte, bei dem er einen Schieberegler hatte, mit dem er den gerade zu bearbeitenden Punkt ausgewählt hat. Er hat also beispielsweise den 3. Punkt mit dem Regler angewählt. Die Zellen verfärbten sich rot, damit man erkennen kann dass man jetzt beim Punkt 3 ist.
Und dann gab es einen Regler für den x-Wert und einen für den y-Wert.

Er scrollt quasi mit dem einen Regler durch die 5 Kontrollpunkte durch.

Vielleicht hat ja jemand von euch sowas schon gemacht und weiß eventuell wie das geht... Google spuckt mir nur crap aus und ich bin am ende meines Lateins.

Danke schonmal!
 
Füge über die Entwicklertools ein Drehfeld in dein Blatt ein. Bei aktiviertem Entwurfsmodus kannst du über Rechtsklick den Code anzeigen, da fügst du folgende Scripts ein:
drehfeld_einfuegen.png drehfeld_code_anzeigen.png

Code:
Private Sub SpinButton1_SpinUp()

Dim sZelle As String

sZelle = ActiveCell.Address
Range(sZelle).Value = Range(sZelle).Value + 0.1

End Sub

Private Sub SpinButton1_SpinDown()

Dim sZelle As String

sZelle = ActiveCell.Address
Range(sZelle).Value = Range(sZelle).Value - 0.1

End Sub
Wenn die Registerkarte Entwicklertools nicht sichtbar ist, kannst du sie in den Exceloptionen aktivieren:
entwicklertools.png


Das angehängte Beispiel erhöht in der ausgewählten Zelle den Wert um 0.1 (in diesem Fall kannst du jede x-beliebige Zelle ändern; das könnte man natürlich auf bestimmte Zellen beschränken).

Falls du mehrere Drehfelder einfügst musst du beachten, dass deren Name sich immer um 1 erhöht; dementsprechend musst du das ggf. im Code anpassen (SpinButton1, SpinButton2, SpinButton3, ...).
 

Anhänge

Zuletzt bearbeitet:
Zurück
Oben