Referenzierung eines Ocx-Elementes
28.10.2006 08:39:34
Reinhard
ich habe da ein, von jmdm. selbst gebasteltes, Ocx-Element, einen Slider (Schieberegler), der die Ereignisse Move, GotFocus, LostFocus kennt.
Nun soll sich in Bx der Zellwert ändern wenn ich den Schieber von Slider x verschiebe. Umgekehrt soll sich der Schieber von Slider x verschieben wenn ich den Zellwert von Bx ändere.
Direktes Ansprechen funktioniert:
ColorSlider1.SetValue Worksheets("Tabelle1").Range("B2")
ColorSlider2.SetValue Worksheets("Tabelle1").Range("B3")
Aber wie kann ich den Slider über seine Indexnummer/Namensbestandteilnummer ansprechen?
Als Beispiel eine nicht funktionierende (Fehler 438) Vorstellung:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Dim n As Integer
For n = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(n).Name Like "ColorSlider*" Then
ActiveSheet.Shapes(n).Value = ActiveSheet.Range("B" & n) 'Fehler 438
End If
Next n
End Sub
Andere Syntaxversuche brachten mich auch nicht weiter :-( :
Private Sub ColorSlider1_GotFocus()
MsgBox TypeName(ColorSlider1) ' Anzeige "ColorSlider"
'MsgBox ActiveSheet.ColorSlider(1).Value
'MsgBox ActiveSheet.Shapes("ColorSlider" & 1).Value
'MsgBox ActiveSheet.objects("ColorSlider" & "1").Value
'MsgBox ActiveSheet.Shapes("ColorSlider" & "1").Value
'MsgBox ActiveSheet.Shapes.Item(1).Value
End Sub
Dankeschön ^ Gruß
Reinhard