Hallo an alle, ich bin VBA Neuling und habe ein Problem.
in einer Excel Mappe habe ich zB 13 ActiveX Checkboxen
beim Click auf eine Checkbox sollen die beiden Werte aus den 2 zellen(z.B:K12 undK11) links daneben in andere Zellen geschrieben werden(z.B: in A1 und A2). gleichzeitig sollen alle anderen Checkboxen den Value false bekommen damit in den zu exportierenden Zellen immer nur die werte der Checkbox mit dem Value true sind.
bisher habe ich das Problem sehr einfach per if Bedingungen gelöst:
private Sub CheckBox1_Click()
if Checkbox1.value = true then
Checkbox2.Value = false
checkbox3.Value = false
.
.
.
Range("A2").Value = Range("K12")
Range("A1").Value = Range("K11")
Else
Range("A2").Value = ""
Range("A1").Value = ""
End if
End Sub
so: Das ganze funktioniert zwar hat aber einen ganz klaren haken, sollten später neue zeilen hinzukommen und neue Checkboxen so müsste man die neue Checkbox ja auch vom Code her in jedes Clickevent der bestehenden Checkboxen reinschreiben, deshalb hab ich mir überlegt, dass statt jede Checkbox (Checkbox"i".Value = false) mit einer schleife dazu bringen möchte sich auf den Value false zu setzen.
das ganze soll dann in etwa so aussehen:
private Sub Checkbox1_Click()
if Checkbox1.Value = true then
Dim i As Integer
For i = 1 To 100
If i = 1 Then i = i + 1
Next i
Checkbox & i = false
Range("A2").Value = Range("K12")
Range("A1").Value = Range("K11")
Else
Range("A2").Value = ""
Range("A1").Value = ""
end if
end Sub
leider funktioniert das nicht mal im Ansatz =) und ich bräuchte etwas Hilfe.
hoffe ich konnte meine Problematik verständlich erklären und bedanke mich bereits im Voraus |