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
Sie haben ein array von Daten oder ein array von Zeichenketten, die Aussehen wie ein Datum? Wenn Sie das tatsächliche Datum dann sortiert werden kann wie mit zahlen (da excel eigentlich speichert Datumsangaben als zahlen)
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

Schreibe einen Kommentar