Вы можете использовать Array
функцию. Возвращает Variant
:
Dim month As Variant month = Array("Jan", "Feb", "Mar" ...)
или вы можете использовать формат функции
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
Однако имейте в виду, что это возвращает названия месяцев в соответствии с культурой, определенной в Windows. Таким образом, на другом ПК это может вернуть имена на другом языке.
Примечание: вы объявили
Dim lng, lng2, counter, lngRRStart, lngMonth As Long
В VBA и VB 6.0 объявление типа применяется только к одной переменной. Это означает, что все ваши переменные, кроме этой, lngMonth
имеют тип Variant
! Вы можете написать, lng = "hello"
и это работает без ошибок. Вы должны написать
Dim lng As Long, lng2 As Long, counter As Long, lngRRStart As Long, lngMonth As Long
В VB.NET это больше не так, поскольку нет типа по умолчанию ( Variant
был удален). Так что в VB.NET ваше Dim
утверждение будет правильным.