Итак, вы хотите суммировать по месяцам, и сделать это, вероятно, проще всего с помощью массива. Я предполагаю, что это только один год, но вы можете найти Redim Preserver, чтобы внести это изменение.
Это увеличивает каждое значение в заданном диапазоне и добавляет его в массив, соответствующий номеру месяца.
Sub BoOm()
Dim YourSTuff(1 To 12, 0 To 0) As Long, aCell As Range, YourRNG As Range, startDate As Date, endDate As Date
Set YourRNG = Range("A1:B99")
startDate = "01/01/2019"
endDate = "03/10/2019"
For Each aCell In YourRNG.Cells
If IsDate(aCell.Value) Then
If aCell.Value >= startDate And aCell.Value <= endDate Then
YourSTuff(Month(aCell), 0) = YourSTuff(Month(aCell), 0) + 1
End If
End If
Next aCell
'when you're done.
Dim i As Long, c As Long
c = 1
For i = LBound(YourSTuff) To UBound(YourSTuff)
If YourSTuff(i, 0) > 0 Then
Set Oval = ActiveSheet.Shapes.AddShape(msoShapeOval, h + 70 * (c), w + 125, 60, 65)
c = c + 1
With Oval
'not sure how to format as you want
.Line.Visible = True
.Line.Weight = 2
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.ForeColor.RGB = RGB(0, 0, 0)
.TextFrame.Characters.Caption = Choose(i, "January", "February", "March", "April", "May", "June", "" & _
"July", "August", "September", "October", "November", "December") & Chr(10) & YourSTuff(i, 0)
.TextFrame.HorizontalAlignment = xlHAlignCenter
.TextFrame.VerticalAlignment = xlVAlignCenter
.TextFrame.Characters.Font.Size = 12
.TextFrame.Characters.Font.Bold = True
.TextFrame.Characters.Font.Color = RGB(0, 0, 0)
End With
End If
Next i
End Sub