In VBE, go in Display and show the Local Variable Window
The run the code.
When it stops, do you have any values in the variable "ar" (you should have a + sign to expand it)

In your months sheets, does your list always start in cell A1??
I used ar = ws.cells(1).currentregion.value. So this assumes there is a value in A1.

Check that and let me know.