I want to store buttons in some sort of collection, arraylist,
so that I can add and remove dynamically.
I tried to use Collection but seems it is not the choice, as I got an error when ar.Add() is reached.
Object doesn’t support this property or method.
Public Sub removeAllFormsWithAdd() Dim myshape As Shape Dim ar As Collection For Each myshape In ActiveSheet.Shapes If (myshape.FormControlType = xlButtonControl) Then If (myshape.TextFrame.Characters.Text = "name") Then ar.Add (myshape) Debug.Print "next shape:" & myshape.TextFrame.Characters.Text & "-" End If End If Next myshape End Sub
How can I get it?
ar.Add() is not reached as
Nothing. You should initialize it to a
Other than that, remove the parentheses:
With the parentheses, you are trying to add to the collection the value of the default property of the shape object, and
Shape doesn’t have a default property.