Wie kann ich Sortieren, Daten in ein array in vba?
Hallo, ich bin neu in Programmieren und gerade angefangen zu lernen VBA für excel. Ich habe eine Abfrage für die Sortierung von arrays. Wie Sortiere ich ein array mit Datumsangaben? Zum Beispiel, wenn ich ein array mit den Daten ("23-jul-13","11-jan-10","1-Mai-09","3-feb-04") wie Sortiere ich das array. Ich habe alle über das internet gesucht nach Antworten, konnte aber nur den code für die Sortierung von zahlen. Ich habe Regale mein Gehirn auf diese für 2 Tage, aber kann nicht scheinen, um es zu bekommen.
Dank
Ich habe den code unten nimmt Daten aus einer ausgewählten Spalte, aber ich erhalte eine Fehlermeldung wenn ich es ausführen. Ich habe versucht, herauszufinden, was falsch mit es für 2 Tage jetzt. Ich habe nicht erwähnt, dass dieser code früher als ich dachte, es würde unnnecessarily die Verwirrung.
Der sub GetUniqueAndCount funktioniert gut, aber es ist die Art sub, das ist das problem, wie es nicht akzeptieren das array übergeben es als argument.
Sub GetUniqueAndCount()
Dim d As Object, c As Range, k, tmp As String
Set d = CreateObject("scripting.dictionary")
'I will select the column of dates
For Each c In Selection
tmp = Trim(c.Value)
If Len(tmp) > 0 Then
If Year(DateValue(Format(tmp, "dd-mmm-yy"))) = 2013 Then
d(tmp) = d(tmp) + 1
End If
End If
Next c
i = 0
ReDim ThisArray(UBound(d.keys)) As Date
For Each k In d.keys
ThisArray(i) = DateValue(Format(k, "dd-mmm-yy"))
i = i + 1
Next k
Sort (ThisArray)
End Sub
Sub Sort(arr() As Date)
Dim Temp As Date
Dim i As Long
Dim j As Long
For j = 2 To UBound(arr)
Temp = arr(j)
For i = j - 1 To 1 Step -1
If (arr(i) <= Temp) Then GoTo 10
arr(i + 1) = arr(i)
Next i
i = 0
10 arr(i + 1) = Temp
Next j
End Sub
Könnten Sie ein Beispiel der Werte vor dem formatieren, dass die Werte, wie Sie in der Zelle?
ja, Sie sind wie folgt: 23-jul-13","11-jan-10","1-Mai-09","3-feb-04
InformationsquelleAutor user3125707 | 2013-12-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
Sort(arr() As Date)
funktioniert einwandfrei. Das problem mit dieser LinieÄndern
Auch da, den Sie speichern
Dates
imThisArray
ich hoffe, Sie haben erklärt, es alsDate
?Beispiel
AUSGABE
Ich hatte nicht bemerkt, ur Kommentar über dem code. ja u Recht das problem war diese Zeile Sort (ThisArray) als u erwähnt
InformationsquelleAutor Siddharth Rout
Dies könnte helfen. fiel frei zu Fragen, follow-up-Frage.
InformationsquelleAutor Nikko