У меня есть кнопка, которая создает флажки. Если я нажму его снова, я хочу удалить предыдущие установленные флажки и заменить их новыми. Это код для удаления и создания новой детали:
Dim s As Shape
For Each s In ActiveSheet.Shapes
If s.Type = 12 Then
If Not Intersect(s.TopLeftCell, Sheets("EmpChoice").Range("A14:T33")) Is Nothing Then
s.Delete
End If
End If
Next
Dim obj As Object
Dim rng As Range
For i = 1 To EmployeeNo
If i > 6 And i < 13 Then 'Just code that spaces the checkboxes out evenly
col = 3
offset = 12
ElseIf i >= 13 Then
col = 5
offset = 24
Else
col = 1
offset = 0
End If
Set rng = Sheets("EmpChoice").Cells(14 + (i * 2) - offset, col)
cellLeft = rng.Left
cellTop = rng.Top
cellwidth = rng.Width
cellheight = rng.Height
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Checkbox.1", Left:=cellLeft, Top:=cellTop, Width:=cellwidth * 2, Height:=cellheight * 2)
ActiveSheet.OLEObjects("CheckBox" & i).Object.Caption = EmployeeList(i)
Next i
Проблема в том, что если код создает 18 флажков, а затем удаляет их, новые начинаются с имени «CheckBox19», что приводит к сбою кода , Можно ли убедиться, что новые флажки начинаются с «CheckBox1»?