habe mal wieder ein kleines Problem:
Füge Checkboxen in Abhängigkeit, ob in der Zelle daneben schon ein Eintrag ist, ein.
Wenn dieses Makro nun nochmal aufgerufen wird, weil Änderungen vorgenommen wurden, wird ja über bereits vorhandene Checkboxen eine neue gelegt. Bisher lösche ich daher alle Boxen im gesamte Blatt.
Wie kann ich aber erreichen, das nur die in der Spalte gelöscht werden oder Abfragen, wenn da schon eine steht, keine neue einfügen.
Hier der Code bisher:
Public Sub Checkboxen_einfuegen()
Dim Mappe As Workbook
Dim Blatt As Worksheet
Dim intLZ As Long
Dim i As Integer
Dim ol As OLEObject
Dim Spalte As Variant
Set Mappe = ActiveWorkbook
Set Blatt = Mappe.ActiveSheet
Spalte = frmAbfrage.txtSpalte.Text
Call Checkboxen_Loeschen
intLZ = Blatt.Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To intLZ
If Not IsEmpty(Cells(i, 2)) Then
Blatt.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, IconLabel:="", Left:=Range(Spalte & "12").Left, Top:=Range("A" & i).Top, Width:=12, Height:= _
12).Select
End If
Next i
End Sub
Private Sub Checkboxen_Loeschen()
Dim ol As OLEObject
Dim Mappe As Workbook
Dim Blatt As Worksheet
Set Mappe = ActiveWorkbook
Set Blatt = Mappe.ActiveSheet
For Each ol In Blatt.OLEObjects
If InStr(ol.ProgId, "CheckBox") Then
ol.Delete
End If
Next
End Sub
Danke für eure Hilfe!
Carsten