Вот функция VBA, которая заполняет массив с уникальным набором месяцев, генерируется из стартового месяца и конец месяца:Как получить ячейки строки из текущей функции VBA Excel
Function get_months(matrix_height As Integer) As Variant
Worksheets("Analysis").Activate
Dim date_range As String
Dim column As String
Dim uniqueMonths As Collection
Set uniqueMonths = New Collection
Dim dateRange As range
Dim months_array() As String 'array for months
column = Chr(64 + 1) 'A
date_range = column & "2:" & column & matrix_height
Set dateRange = range(date_range)
On Error Resume Next
Dim currentRange As range
For Each currentRange In dateRange.Cells
If currentRange.Value <> "" Then
Dim tempDate As Date: tempDate = CDate(currentRange.Text) 'Convert the text to a Date
Dim parsedDateString As String: parsedDateString = Format(tempDate, "MMM-yyyy")
uniqueMonths.Add Item:=parsedDateString, Key:=parsedDateString
End If
Next currentRange
On Error GoTo 0 'Enable default error trapping
'Loop through the collection and view the unique months and years
Dim uniqueMonth As Variant
Dim counter As Integer
counter = 0
For Each uniqueMonth In uniqueMonths
ReDim Preserve months_array(counter)
months_array(counter) = uniqueMonth
Debug.Print uniqueMonth
counter = counter + 1
Next uniqueMonth
get_months = months_array
End Function
Как я могу манипулировать эта функция возвращает строки ячеек каждого из значений, которые добавляются в мой массив месяцев.
Что бы быть лучшим способом сохранить эти два значения, т.е. на дату (октябрь-2011) & номер строки (т.е. 456)
буксировочные массивы? Затем верните массив с этими двумя массивами внутри него?
Может ли кто-нибудь дать решение этой проблемы?
BirdsView: Вы можете использовать 2D массив вместо 2 массивы? –
Является ли это функцией, предназначенной для вызова из рабочего листа или из другой функции в VBA? – Bathsheba
@Bathsheba От другой функции, ну, ее вызвал в main() sub – cwiggo