Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortieren Datum+Uhrzeit

Sortieren Datum+Uhrzeit
16.10.2007 14:12:59
Katja
Hallo Leute,
ich habe in einer Zelle Datum und Uhrzeit als Formatierung, z.B. 01.01.2006 10:00:00, wird auch so für weitere Berechnungen benötigt.
Jetzt möchte ich aber nach der Uhrzeit, ohne dass das Datum eine Rolle spielt, sortieren lassen und das bekomme ich irgendwie nicht hin.
Bisher mit folgendem Makro versucht, wird zwar nach Uhrzeit am gleichen Tag aber sonst wieder nach Datum sortiert.
Wäre super, wenn mir jemand helfen könnte.
Makro:

Sub TeilSortierung()
Dim zaehler1 As Long
Dim zaehler2 As Long
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zaehler2 = 1 To Len(Cells(zaehler1, 1).Value)
If Mid(Cells(zaehler1, 1).Value, zaehler2, 1) = " " Then
Cells(zaehler1, 1).Value = Mid(Cells(zaehler1, 1), zaehler2 + 1, Len(Cells(zaehler1, 1).Value))  _
_
& " " & Mid(Cells(zaehler1, 1), 1, zaehler2 - 1)
zaehler2 = Len(Cells(zaehler1, 1).Value)
End If
Next zaehler2
Next zaehler1
Rem der zu sortierende bereich waere anzupassen ("b5:aB65535")
Range("b1:aB65535").Sort Key1:=Range("m5"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:= _
1, _
MatchCase:=False, Orientation:=xlTopToBottom
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zaehler2 = 1 To Len(Cells(zaehler1, 1).Value)
If Mid(Cells(zaehler1, 1).Value, zaehler2, 1) = " " Then
Cells(zaehler1, 1).Value = Mid(Cells(zaehler1, 1), zaehler2 + 1, Len(Cells(zaehler1, 1).Value))  _
& _
" " & Mid(Cells(zaehler1, 1), 1, zaehler2 - 1)
zaehler2 = Len(Cells(zaehler1, 1).Value)
End If
Next zaehler2
Next zaehler1
End Sub


Vielen Dank schon einmal im Voraus.
Gruß
Katja

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren Datum+Uhrzeit
16.10.2007 17:16:00
fcs
Hallo Katja,
der einfachte Weg ist eine Hilfsspalte, in die das Makro die Uhrzeit schreibt. Dann sortieren und Hilfsspalte wieder löschen.
Schaut als Makro dann wie folgt aus.
Gruß
Franz

Sub TeilSortierung()
Dim zaehler1 As Long
Dim zaehler2 As Long
Dim SpZeit As Integer, Zeile1 As Long, SpDatZeit As Integer
Dim wks As Worksheet
Set wks = Worksheets(1)
With wks
'Hilfsspalte für Zeit ausfüllen
SpZeit = 29 'Hilfsspalte für Zeit, Nummer ggf. Anpassen
SpDatZeit = 13 'Spalte mit Datum und Zeit, ggf. anpassen
Zeile1 = 1 ' 1. Zeile des zu sortierenden Bereichs, ggf. anpassen
.Cells(1, SpZeit).Value = "Zeit"
zaehler2 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
'Zeit der Datum/Zeit-Spalte in Hilfsspalte übertragen
For zaehler1 = 1 To zaehler2
'in nächsten Zeilen ggf. Spalte mit Datum Zeit anpassen
If IsDate(.Cells(zaehler1, SpDatZeit).Value) Then
.Cells(zaehler1, SpZeit).Value = .Cells(zaehler1, SpDatZeit).Value - _
Int(.Cells(zaehler1, SpDatZeit).Value)
End If
Next zaehler1
Rem der zu sortierende bereich waere anzupassen ("b5:aB65535")
.Range(.Cells(Zeile1, 2), .Cells(zaehler2, SpZeit)).Sort Key1:=.Cells(Zeile1, SpZeit), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Hilfsspalte wieder löschen
.Columns(SpZeit).Delete
End With
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige