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