Dim myArray(5) As String
Это не создает массив с 5 элементами; он создает массив с неявной нижней границей 0
и явной верхней границей из 5
, в результате чего массив содержит 6 элементов ...
myArray(0) = "January"
myArray(1) = "February"
myArray(2) = "March"
myArray(3) = "April"
myArray(4) = "May"
... с последним оставленным начальным значением по умолчанию, пустой строкой.
Объявить явные нижние и верхние границы:
Dim myArray(0 To 4) As String
И «пустой элемент внизу» должен исчезнуть.