Hard to say without at least seeing some code.
This example will generate 400 rectangles and alter their fill colour in various ways.
Sub Ani()
Dim shpTemp(1 To 20, 1 To 20) As Shape
Dim lngRow As Long
Dim lngCol As Long
Dim rngCanvas As Range
Dim lngIndex As Long
Dim lngColor As Long
Dim lngMulti(1 To 10, 1 To 2) As Long
Dim lngItem As Long
' create shapes
Application.ScreenUpdating = False
Set rngCanvas = Range("B2:U21")
For lngRow = 1 To rngCanvas.Rows.Count
For lngCol = 1 To rngCanvas.Columns.Count
With rngCanvas.Cells(lngRow, lngCol)
Set shpTemp(lngRow, lngCol) = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
.Left + 1, .Top + 1, .Width - 2, .Height - 2)
End With
With shpTemp(lngRow, lngCol)
.Name = "box" & Format(lngRow, "00") & Format(lngCol, "00")
.Fill.ForeColor.RGB = RGB(255, 0, 0)
.Line.Visible = False
End With
Next
Next
Application.ScreenUpdating = True
For lngIndex = 1 To 3
For lngRow = 1 To rngCanvas.Rows.Count
For lngCol = 1 To rngCanvas.Columns.Count
shpTemp(lngRow, lngCol).Fill.ForeColor.RGB = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
DoEvents
Next
Next
Next
For lngRow = 1 To rngCanvas.Rows.Count
For lngCol = 1 To rngCanvas.Columns.Count
shpTemp(lngRow, lngCol).Fill.ForeColor.RGB = 0
Next
Next
DoEvents
For lngIndex = 1 To 3
For lngItem = 1 To 10
lngMulti(lngItem, 1) = Int(Rnd * 19) + 1
lngMulti(lngItem, 2) = Int(Rnd * 19) + 1
Next
For lngColor = 1 To 255
For lngItem = 1 To 10
lngRow = lngMulti(lngItem, 1)
lngCol = lngMulti(lngItem, 2)
shpTemp(lngRow, lngCol).Fill.ForeColor.RGB = RGB(lngColor, lngColor, lngColor)
Next
DoEvents
Next
For lngItem = 1 To 10
lngRow = lngMulti(lngItem, 1)
lngCol = lngMulti(lngItem, 2)
shpTemp(lngRow, lngCol).Fill.ForeColor.RGB = 0
Next
DoEvents
Next
For lngColor = 1 To 255 Step 10
For lngRow = 1 To rngCanvas.Rows.Count
For lngCol = 1 To rngCanvas.Columns.Count
shpTemp(lngRow, lngCol).Fill.ForeColor.RGB = RGB(lngColor, lngColor, lngColor)
Next
Next
DoEvents
Next
For lngRow = 1 To rngCanvas.Rows.Count
For lngCol = 1 To rngCanvas.Columns.Count
shpTemp(lngRow, lngCol).Delete
Next
Next
End Sub
Bookmarks