Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1184to1188
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
Inhaltsverzeichnis

automatische Formatänderung stimmt nicht

automatische Formatänderung stimmt nicht
outbreak
Hallo Leute,
ich habe folgende Tabelle vorliegen
Spalte 1. Datum und Uzeit
Spalte 2. - n Werte (z.B. Temperaturen)
Nun möchte ich zum weiterbearbeiten die erste Spalte so modifizieren das nur noch die uhrzeit im hh:mm format vorhanden ist. aber nicht nur augenscheinlich (wie es über formatänderung möglich wäre) sondern ich schneide mir den text in spalten zu. nun kommt es aber zu einem phänomen was ich mir nicht erklären kann.
Beispieltabelle hab ich mitgeliefert.
https://www.herber.de/bbs/user/72256.xlsm
Bis 12:59 Uhr bekomme ich, wenn ich den Quellcode ablaufen lasse das richtige Format. Aber ab ein Uhr heisst es nicht mehr 01:00 sondern 01:00:00. verstehe ich absolut nicht.
kennt jemand dieses problem
ist für mich wirklich wichtig zur weiterbearbeitung!
besten dank schon mal
mfg rené

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: automatische Formatänderung stimmt nicht
11.11.2010 23:37:19
fcs
Hallo René,
bei Anwendung von TextinSpalten wird unter VBA bei Umwandlung der Zeitwerte über das US-Zeitformat mit AM/PM gearbeitet. Dabei kommt es dann fehlerhaften Werten im deutschen Format.
Du muss hier Zellenweise die Werte konvertieren.
Entweder indem du die Spalte als Text formatierst und den hh:mm-Teil herausschneidest. Oder eine Datums-Konversion durchführst, so dass alle Sekundenwerte auf 0 gesetzt werden, der Zellinhalt aber eine Uhrzeit im Excelformat enthält.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim Zelle As Range
Application.ScreenUpdating = False
Columns("A:A").Copy
Columns("A:A").Insert
Columns("A:A").NumberFormat = "@"
For Each Zelle In Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp))
If IsDate(Zelle.Text) Then
Zelle.Offset(0, -1).Value = Mid(Zelle.Text, 11)
End If
Next
Columns("B:B").Delete
Application.ScreenUpdating = True
End Sub
'oder
Private Sub CommandButton1_Click()
Dim Zelle As Range
Application.ScreenUpdating = False
For Each Zelle In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
If IsDate(Zelle.Text) Then
Zelle.Value = CDate(Mid(Zelle.Text, 11) & ":00")
End If
Next
Columns("A:A").NumberFormat = "hh:mm"
Application.ScreenUpdating = True
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige