Hier ist die VBA-Funktion, die ein Array mit einem einzigartigen Satz von Monaten aus einem Startmonat und einem Endmonat generiert:
Funktion get_months(matrix_height As Integer) As Variant
Worksheets("Analyse").Activate
Dim date_range As String
Dim column As String
Dim uniqueMonths As Collection
Set uniqueMonths = New Collection
Dim dateRange As Bereich
Dim months_array() Als String 'Array für Monate
column = Chr(64 + 1) 'A
date_range = column & "2:" & column & matrix_height
Set dateRange = Bereich(date_range)
On Error Resume Next
Dim currentRange Wie Bereich
Für Jeden currentRange In dateRange.Zellen
Wenn currentRange.Value <> "" Dann
Dim tempDate Als Datum: tempDate = CDate(currentRange.Text) 'Den Text in ein Datum konvertieren
Dim parsedDateString Als String: parsedDateString = Format(tempDate, "MMM-JJJJ")
uniqueMonths.Add Item:=parsedDateString, Key:=parsedDateString
Ende Wenn
Nächster currentRange
On Error GoTo 0 'Standardfehlerbehandlung aktivieren
'Durch die Sammlung iterieren und die eindeutigen Monate und Jahre anzeigen
Dim uniqueMonth Als Variant
Dim counter Als Integer
counter = 0
Für Jeden uniqueMonth In uniqueMonths
ReDim Preserve months_array(counter)
months_array(counter) = uniqueMonth
Debug.Print uniqueMonth
counter = counter + 1
Nächster uniqueMonth
get_months = months_array
Ende Funktion
Wie kann ich diese Funktion manipulieren, um die Zellenzeilen jedes der Werte zurückzugeben, die meinem Monatsarray hinzugefügt werden.
Was wäre der beste Weg, um diese beiden Werte zu speichern, d.h. das Datum (Okt-2011) und die Zeilennummer (z.B. 456)
Zwei Arrays? Dann ein Array mit diesen beiden Arrays darin zurückgeben?
Kann mir jemand eine Lösung für dieses Problem geben?