Я думаю, что вы пытаетесь показать только те фигуры, для которых значение в C36 больше, чем их числовой суффикс минус один.Если это так, вы могли бы пойти по этим линиям:
Option Explicit
Private Sub Worksheet_Calculate()
Dim i As Integer
For i = 1 To 100
'Shape will be visible if a value at C36 on this worksheet is larger
'than (the shape's index suffix minus one).
Me.Shapes("OVAL " & i).Visible = Me.Range("C36").Value > (i - 1)
Next
End Sub
Для большей производительности считайте значение на C36 в переменную типа double
, перед цикла ииспользуйте его в цикле.