/ / Видалити прапорці ActiveX у виборі - excel, vba

Видалити прапорці ActiveX під час вибору - excel, vba

Я намагався написати макрос, який буде видаленоусі прапорці activex у вибраному діапазоні. Я написав цей код, але продовжує повертатися "Об'єкт не підтримує це властивість або метод" помилка. Будь ласка, допоможіть.

Dim cbx As OLEObject
Dim rng As Range
Set rng = selection
For Each cbx In ActiveSheet.OLEObjects
If Not Intersect(rng, cbx.Object.TopLeftCell) Is Nothing Then cbx.Delete
Next

Відповіді:

1 для відповіді № 1
If Not Intersect(rng, cbx.TopLeftCell) Is Nothing Then cbx.Delete

1 для відповіді № 2

У результаті буде видалено всі прапорці ActiveX у межах вибору:

Sub DeleteActiveXCheckboxes()

Dim Shape As Shape

For Each Shape In ActiveSheet.Shapes
If Shape.Type = 12 Then
If Not Intersect(Shape.TopLeftCell, Selection) Is Nothing Then
Shape.Delete
End If
End If
Next Shape

End Sub