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

Eingabe Uhrzeit ohne Doppelpunkt

Eingabe Uhrzeit ohne Doppelpunkt
29.01.2004 11:36:21
Silvie
Mahlzeit!
Hat jemand eine Ahnung wie ich in einer bestimmten Spalte z.b. A1:A250
ein Datum eingeben kann, ohne immer den blöden Doppelpunkt setzen zu müssen?
Es soll anstatt der Eingabe von 16:30 nur die Zahl 1630 eingegeben werden und die Zelle soll dann automatisch in das Zeitformat hh:mm umgewandelt werden.
Hab in der Recherche nur unten stehendes Makro gefunden, aber da muß man erst ein Button drücken und es wird immer nur die aktivierte Zelle geändert.

Sub InZeit()
Dim rng As Range
Dim sTxt As String
For Each rng In Selection.Cells
sTxt = rng.Value
rng.NumberFormat = "hh:mm"
rng.Value = TimeSerial(Left(sTxt, 2), Right(sTxt, 2), 0)
Next rng
End Sub

Wäre ne riesen Erleichterung wenn das ginge...
Gruß
silvie

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe Uhrzeit ohne Doppelpunkt
29.01.2004 11:47:32
Hajo_Zi
Hallo Silvie
ich benutze immer folgenden Trick. Autokorrektur Ersetzen ,, durch : damit wird aus 8,,23 die Zeit 8:23
Ansonsten schaue mal auf meine HP auf der Seite VBA
http://home.media-n.de/ziplies/
Gruß Hajo
aber dann werden ja alle... und
29.01.2004 11:59:06
silvie
Hallo und Danke an Hajo!
Ist erstmal keine schlechte Idee, aber dann werde alle Zahlen umgewandelt
und ich will doch nur einen bestimmten Bereich. Leider kann ich vom Büro aus nix downloaden und auch nicht zippen. Wenn jemand eine Lösung weiß, dann bitte nur hier...
Silvie
AW: aber dann werden ja alle... und
29.01.2004 12:02:02
Hajo_Zi
Hallo Silvie
nicht alle Zahlen, Zahlen haben nur ein Komma. Also ich habe noch keinen Fall erlebt wo 2 Komma hintereinander in der Zelle vorkommen sollen.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value <> "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm"
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Right(.Value, 2)
Else
'                            Stunden haben das Primat
'                             InS = .Value
'                             InM = 0
'                            Minuten haben das Primat
InS = 0
InM = .Value
End If
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
'    ActiveSheet.protect
Application.EnableEvents = True
End Sub


Gruß Hajo
Anzeige
In der Kürze....
29.01.2004 12:21:23
Karl-Otto Reimann
... liegt die Würze
Hallo Silvie
Versuch das hier:

Sub Ersetzen_Kommata()
Sheets("tabelle2").Columns("A:A").Replace What:=",", Replacement:=":", LookAt:=xlPart
End Sub

Gruß
Karl-Otto
AW: In der Kürze....
29.01.2004 12:23:08
Hajo_Zi
Hallo KArl Otto
kurz muß nicht immer gut sein.
Dein Makro muß von Hand gestartet werden.
Gruß Hajo
AW: In der Kürze....
29.01.2004 12:30:49
Karl-Otto Reimann
Hallo Hajo
Wenn Silvie bei "VBA-nein" Deine Lösung versteht, wird sie auch diese Lösung einfach
umsetzen können:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("tabelle2").Columns("A:A").Replace What:=",", Replacement:=":", LookAt:=xlPart
End Sub

Gruß
Karl-Otto
Anzeige
AW: In der Kürze....
29.01.2004 12:50:22
Hajo_Zi
Hallo Karl-Otto
das würde aber bedeute das bei jeder Eingabe egal wo das ersetzen gestartet wird. Und es gibt auch Fälle wo mehrere Zellen mit einmal gefüllt werden.
Silvia wollte nur 1630 eingeben kein Komma.
Gruß Hajo
AW: aber dann werden ja alle... und
29.01.2004 12:21:42
Gert Seler
Hallo Silvia,
der erste Vorschlag von Hajo ist der einfachste und beste.
Wird auch von mir praktiziert. Nach einer gewissen Zeit geht es ganz
automatisch.
mfg
Gert
schade, bringt mich alles gar nicht weiter
29.01.2004 13:12:00
silvie
:O\
trotzdem danke!
AW: schade, bringt mich alles gar nicht weiter
29.01.2004 13:26:35
Hajo_Zi
Hallo Silvie
aus dem Beitrag sehen wir aber nicht warum. Welche Probleme es gibt.
Dir ist schon klar wo der Code hingehört???
Gruß Hajo
Anzeige
AW: schade, bringt mich alles gar nicht weiter
29.01.2004 13:42:37
silvie
...gehört doch in die entsprechende Tabelle nicht in ein Modul oder?
und wenn ich z.B. 13,0 eingebe kommt 0 bzw 13.01.1900 12:00:00
und außerdem nur in einer Zelle, ich kapiers leider nicht.
AW: schade, bringt mich alles gar nicht weiter
29.01.2004 13:57:41
Hajo_Zi
Hallo Silvie
in Deinem ersten Beitrag stand Du möchtes 1623 eingeben ohne Komma und dafür ist mein Code ausgelegt.
Ja Tabelle ist richtig.
Gruß Hajo
Oh Manno, hast Recht Hajo!
29.01.2004 14:36:02
silvie
sorry, bin blöd... funktioniert natürlich alles wunderbar.
AW: Eingabe Uhrzeit ohne Doppelpunkt
29.01.2004 13:38:22
(.)
https://www.herber.de/forum/archiv/60to64/t60830.htm
http://home.media-n.de/ziplies/fremd.htm
http://www.excel-vba.de/1_bspdateien.htm

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
'Soll nur bei einer Eingabe in Spalte A wirksam werden:
If Target.Column <> 1 Then Exit Sub
With Cells(Target.Row, Target.Column)
If .Value = "" Then Exit Sub
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm"
If Len(.Value) > 2 Then
s = Left(.Value, Len(.Value) - 2)
m = Right(.Value, 2)
Else
s = .Value
m = 0
End If
.Value = s & ":" & m
End If
End With
End Sub

gruß
Anzeige

87 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige