For x = 1 To 17 with eval('ThisForm.Shape'+ltrim(str(x)) .BackColor = RGB(0,0,255) endwith Next x * Mimic a control array * Form has custom array property myShapes * Each shape adds a reference to self in its init to array * Or a form method does it once For x = 1 To 17 ThisForm.myShapes[x].BackColor = RGB(0,0,255) Next xCetin