VBA Sortieren von Uhrzeiten nach Mitternacht
#1
Hallo Leute,
ich bin auf der Suche nach einer Lösung für die Sortierung einer Spalte (in meiner Excel-Tabelle) die "nur" Uhrzeiten enthält.
Mein Problem ist, dass die Uhrzeiten nach Mitternacht nach der Sortierung in der Reihenfolge -oben- erscheinen.

Wie kann ich meinen VBA Code anders schreiben, so dass die Uhrzeiten zum Beispiel von 0:00 bis 06:00 Uhr -unten- erscheinen ?
Beispiel:
...
17:01
23:02
01:03
04:04
...

Mein Code:
Dim sortSpalteA As Range
Sort.SortFields.Add Key:=sortSpalteA, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal


Danke schon mal! [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Top
#2
Hallo,

vielleicht mit einer Hilfsspalte mit folgender Formel: =A1+(A1<=6/24)
Nach dieser Spalte dann sortieren.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • AD279
Top
#3
Hallo Uwe,

Danke für deinen Tipp. Das werde ich so ausprobieren.

Würde es evtl. auch eine Code basierte Lösung geben ?
Vielleicht in Verbindung mit einer If Abfrage oder ähnlich, wo ich
die Bedingungen der Sortierung (nach dieser einen Spalte mit den Uhrzeiten)
anpassen kann...


Gruß Atilla
Top
#4
Hallo Atilla,

(02.05.2017, 07:38)AD279 schrieb: Würde es evtl. auch eine Code basierte Lösung geben ?
Vielleicht in Verbindung mit einer If Abfrage oder ähnlich, wo ich
die Bedingungen der Sortierung (nach dieser einen Spalte mit den Uhrzeiten)
anpassen kann...

Du könntest die Zeiten auch per Code direkt anpassen und dann sortieren.
  Dim iZ As Long
 Dim vZeiten As Variant
 vZeiten = Range("A1").CurrentRegion.Columns(1).Value
 For iZ = 1 To UBound(vZeiten)
   If IsDate(vZeiten(iZ, 1)) Then
     vZeiten(iZ, 1) = vZeiten(iZ, 1) - (vZeiten(iZ, 1) <= 6 / 24)
   End If
 Next iZ
 Range("A1").CurrentRegion.Columns(1).Value = vZeiten
Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste