Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datumswerte falsch trotz Makroanpassung

Datumswerte falsch trotz Makroanpassung
09.11.2006 16:27:49
Frank
Hallo Leute, ich habe folgendes Problem:
Ich habe ein Tabellenblatt mit Datensätzen.
In einigen Spalten sind Datumswerte. Leider nicht so wie ich sie gerne hätte.
Ich habe sie in folgendem Format in den Spalten: 01.05.2006 23:00:00
Da ich aber nur die Uhrzeit 23:00 brauche, habe ich folgendes Makro geschrieben:

Sub Datumsformate()
'Anzeige der Datumsformate korrekt einstellen
Dim bz As Integer
Dim i As Integer
Dim uz As Date
Dim uz1 As Variant
bz = ActiveWorkbook.Sheets("Discovererimport").UsedRange.Rows.Count
For i = 2 To bz
If Cells(i, 5) = "-" Then
Cells(i, 5) = ""
End If
If Cells(i, 7) = "-" Then
Cells(i, 7) = ""
End If
uz = Cells(i, 5)
uz1 = Mid(uz, 12, 5)
Cells(i, 5) = uz1
uz = Cells(i, 7)
uz1 = Mid(uz, 12, 5)
Cells(i, 7) = uz1
Next i
Columns("D:D").NumberFormat = "dd.mm.yyyy"
Columns("F:F").NumberFormat = "dd.mm.yyyy"
Columns("O:O").NumberFormat = "dd.mm.yyyy"
Columns("E:E").NumberFormat = "hh:mm"
Columns("G:G").NumberFormat = "hh:mm"
End Sub

Leider sieht das Ergebnis dann so aus: 23:00:00
Obwohl ich nur 5 Zeichen einlese, stehen nachher trotzdem 8 drin.
(Sie stehen tatsächlich drin. Es ist kein Problem des Anzeigeformats)
Hat jemand eine Idee dazu?
Gruß
Frank

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumswerte falsch trotz Makroanpassung
09.11.2006 16:38:28
Hellbach
hallo frank,
warum so kompliziert.
wenn Du das datumsfeld so läßt, wie es ist und unter Zellen formatieren , benutzerdefiniert eingibst: "hh:mm" dann sollte auch nur die Zeit angezeigt werden.
Gruß fritz
AW: So einfach ist das nicht...
09.11.2006 16:54:05
Frank
Hallo Fritz,
danke für den Tipp. Aber mit kommt es nicht darauf an, was man sehen kann, sondern was tatsächlich in der Zelle steht.
Ich muss die Werte später noch anders verarbeiten und da benötige ich die reine Uhrzeit.
Sonst noch Vorschläge?
AW: So einfach ist das nicht...
09.11.2006 17:30:47
EtoPHG
Hallo Frank,
Doch es ist so einfach:
Egal was Du siehst, ob:
0
00
1
1900
0.1.1900 23:00:00
23:00:00
23:00
23
(alles verschiedene Datums/Zeitformate auf die gleiche Zelle!)
wenn es sich um eine Zelle mit einem Datumswert handelt und nicht eine Textzelle, dann ist der effektive Wert in der zelle ist 0.95833333333 oder 23/24
Gruss Hansueli
Anzeige
So einfach is es:
09.11.2006 17:35:40
EtoPHG
Frank,
Falls Du aus einer Datum/Zeit-Zelle nur den Stunden,Minuten,Sekundenanteil brauchst:
in VBA
   Cells(x,y).Value = Cells(x,y).Value - INT(Cells(x,y).Value)  
Gruss Hansueli
AW: So einfach ist das nicht...
09.11.2006 17:37:09
Erich
Hallo
ich vermute, dass Frank aus einem Wert 38838,9583333333 den Wert 0,9583333333 machen will.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
hatte nicht aktualisiert... (oT)
09.11.2006 17:38:31
Erich
AW: So einfach ist das nicht...
09.11.2006 17:32:03
Erich
Hallo Frank,
probier mal
Option Explicit
Sub Datumsformate2()
'Anzeige der Datumsformate korrekt einstellen
Dim bz As Integer
Dim i As Long, s As Integer
bz = ActiveWorkbook.Sheets("Discovererimport").UsedRange.Rows.Count
For i = 2 To bz
For s = 5 To 7 Step 2
Select Case Cells(i, s)
Case "":   ' nix tun
Case "-":  Cells(i, s) = ""
Case Else: Cells(i, s) = Cells(i, s) - Int(Cells(i, s))
End Select
Next s
Next i
Columns("D:D").NumberFormat = "dd.mm.yyyy"
Columns("F:F").NumberFormat = "dd.mm.yyyy"
Columns("O:O").NumberFormat = "dd.mm.yyyy"
Columns("E:E").NumberFormat = "hh:mm"
Columns("G:G").NumberFormat = "hh:mm"
End Sub
(Es wird nicht geprüft, ob ein gültiger Datums-/Zeitwert in den Spalten E und G steht.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Das Problem bleibt..
09.11.2006 18:26:44
Frank
Hallo Erich,
habe Dein Makro ausprobiert. Es liefert dasselbe Ergebnis wie meins (Deins sieht aber professioneller aus).
Klartext:
In der jeweiligen Zelle wird: "23:00" angezeigt.
Ich der Bearbeitungsleiste steht aber "23:00:00".
Vielleicht ist das aber auch normal und mir ist das bisher nur noch nicht aufgefallen.
Gruß
Frank
AW: Das Problem bleibt..
09.11.2006 19:38:12
Erich
Hi Frank,
bislang ging es dir darum, was tatsächlich in der Zelle steht und wie der Zellwert angezeigt wird.
Ja, dein Makro brachte das gleiche Ergebnis, aber doch über einen heftigen Umweg:
Du hast VBA eine Zeichenkette (String) in die Zelle schreiben lassen. Na ja, Excel verträgts wohl.
Besser, rechnet man mit Zeiten und Datumsen.
Das sind dreierlei Dinge:
gespeicherter Wert: 0,958333333 (und noch ein paar mehr Dreien)
Anzeige in der Zelle: 23:00 (natürlich abh. vom eingestellten Zahlenformat)
Anzeige in der Bearbeitungsleiste: 23:00:00
Letztere ist meines Wissens mit VBA nicht beeinflussbar.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige