Ansprechen von Steuerelementen via makro
11.08.2014 22:04:22
Steuerelementen
da ich per google schon häufiger Antworten auf meine Fragen in diesem Forum gefunden habe, hab ich mich mal angemeldet und hoffe das mir jemand mit meinem Problem helfen kann(Excel 2010):
Ich habe eine Tabelle, inder sobald eine bestimmte Zelle einen Wert enthält(sagen wir einfach mal B1), automatisch in der danebenliegenden Zelle eine Checkbox(Active X Steuerelement) erstellt wird(A1). Diesen Checkboxen werden dann abhängig vom Zelleninhalt bis A20 erstellt.
Den Checkboxen habe ich den Namen Versuch1 bis Versuch20 zugeordnet(nicht die Caption, sondern der Name).
Nun möchte ich eine Schleife aufbauen um diese Steuerelemente einzeln nacheinander Abzufragen(True or False) und eine Reaktion darauf auszulösen. Nur bekomme das beim besten willen nicht hin...
Eigentlich muss ich bei dem Namen ja nur die Zahl hinter Versuch auslesen, aber egal wie ich das Versuche, es klappt nicht. Die Steuerelemente sind der Spalte A nicht direkt zugeordnet und am liebsten würde ich das über den Namen abfragen. Zur Not würde ich den Wert der Checkbox auch der jeweiligen Zelle zuordnen und dann die Abfrage machen, jedoch bekomme ich dabei den Wert in der Zelle nicht unsichtbar für den benutzter... wäre super, wenn mir hier jemand helfen kann!
Hier der Quelltext für die Checkboxen:
Public Sub ActiveX_erstellen()
Dim i As Integer
Dim Versuch As String
ThisWorkbook.Worksheets("Eingabe").Activate
For i=1 To 20
If Not IsEmpty((Cells(i,2)) Then
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=10,
DisplayAsIcon:=False, Left:=Cells(i,1)+20, Top:=Cells(i,1).Top+2,
Width:=12,Height:=10).Name="VErsuch" & i
End If
Next i
mein letzter "verzweifelter" Quelltext zur Umsetzung meines Problems war:
For i=1 To 20
If ActiveSheet.OLEObjects.FormFields("Versuch" & i).CheckBox.Value= True Then
Cells(i,2)).Copy Destination:=Cells(i+10,i+10)
End If
Next i
Viele Grüße
Toni