You must do UBound - LBound + 1 to acquire an accurate count. This is due to the fact that arrays do not have to begin at index 1 and end at index n; they can begin at any index. Here's an example where the number of pieces increases from 3 to 7, totaling 5 (3, 4, 5, 6, and 7):
Sub tgr()
Dim Array1(3 To 7) As Variant
Dim lNumElements As Long
lNumElements = UBound(Array1) - LBound(Array1) + 1
MsgBox lNumElements
End Sub