Você pode usar a função Array
. Ele retorna um Variant
:
Dim month As Variant
month = Array("Jan", "Feb", "Mar" ...)
ou você pode usar a função de formatação
Dim month(1 To 12) As String
Dim i As Long
For i = 1 To 12
month(i) = Format$(DateSerial(2017, i, 1), "mmm")
Next i
No entanto, esteja ciente de que isso retorna os nomes dos meses de acordo com a cultura definida no Windows. Então, em outro PC, isso poderia retornar os nomes em outro idioma.
Uma nota lateral: você declarou
Dim lng, lng2, counter, lngRRStart, lngMonth As Long
No VBA e no VB 6.0, a declaração de tipo aplica-se apenas a uma variável. Isso significa que todas as suas variáveis nesta linha, exceto lngMonth
, são do tipo Variant
! Você pode escrever lng = "hello"
e isso é executado sem dar erro. Você deve escrever
Dim lng As Long, lng2 As Long, counter As Long, lngRRStart As Long, lngMonth As Long
No VB.NET, este não é mais o caso, já que não há nenhum tipo padrão ( Variant
foi removido). Então, no VB.NET, sua declaração Dim
estaria correta.