Zeitangabe ohne Doppelpunkt
#51
Hallo Gast 123,

habe damit doch noch  ein kleines Problemchen:

Wenn ich 00:00 - 00:00 eingebe dann wird die Zeit mit 24 Stunden gerechnet.Das bedeutet in J steht zwar 0:00 aber in Spalte K 24:00.  Aber das soll so behandelt werden das die Zellen D - I wo   00:00 steht , als ob sie Leer wäre .

Ist eine Formelveränderung notig? oder geht das auch mit Makro ?

Gruß
Paolo
Top
#52
Hallo Paolo,

am einfachsten ist es die Formel in Spalte K zu aendern. Das muss man ja nur einmal machen. s. unten
=Wenn(J12>1;J12*24;0)

Bitte nicht von "> 1" verwirren lassen!!  Für jede Zeit gibt es einen Zahlenwert in der Zelle, die man aber durch die Formatierung so nicht als Zahl erkennt! Der Zahlenwert für Uhrzeit "00:00" ist exakt 1.  Deshalb in der Formel bitte mit  >1 auswerten!

mfg  Piet
Top
#53
Hallo Piet,

ich habs eingefügt deine Formel,  aber die werte werden nicht richtig angezeigt.

Also wenn in Spalte D-E eine Uhrzeit steht, und in F-G 00:00 , dann wird K einmal 24:00 angezeigt+ die Addition von J.

Stehen in D-E und F-G Zeiten dann wird in K nichts angezeigt.

Stehen in D-E und F-G 00:00  dann wird in K 48:00 angezeigt.

Ist eventuell die Formel in J dafür verantwortlich?

LG

Paolo
Top
#54
Hallo Paolo

danke das du es getestet hast, wie man sieht steckt der Teufel immewr im Detail!!

Ersetze >1 doch bitte einmal durch =1 und stelle dir Formel einfach um!  Dann sollte nur bei =1 die Null rauskommen.!!
=Wenn(J12=1;0;J12*24)

Würde mich freuen wenn es danach richtig klappt.

mfg  Gast 123 
Top
#55
Nachtrag

Alternativ ist die Frage, muss in jeder Zeile unbedingt ein Wert sein, oder kann man die Zeile als unbenutzt einfach Leer lassen??  Ich habe versucht die Formatierung in Zeitformat herauszunehmen, aber die 24 Stunden Berechnung erfolgt trotzdem.  Ich hoffe das die =1 Auswertung uns dann den Erfolg bringt.
Top
#56
Hallo Piet,

habe es nochmals gestestet, es bringt einen besseren erfolg.

Habe eine Tabelle gemacht zum Einfügen in meine Rechentabelle. Die Ergebnisse in Spalte K sind Irreführend.

Siehe selbst, ich denke die Lösung ist nicht weit entfernt.

Lieben Gruß

Paolo


Angehängte Dateien
.xlsx   Zeit Januar.xlsx (Größe: 11,9 KB / Downloads: 6)
Top
#57
Hazllo Paolo,

ich habe mir die Sache angesehen, erkenne das man die Zellen nicht leer lassen kann.  Den Code habe ich ein wenig geandert, springe raus wenn die Zelle bereits als Zeitformat formatiert ist! Könnte sonst durcheinander geben. Den neuen Code bitte in die Tabelle kopieren.

Du kannst dir die echten Zeit Zahlen ansehen, indem man die ganze Zeile "J" kopiert, und ,n eine leere Spalte, z.B. U oder V als "Werte" einfügt. Dann sieht man die echten Zahlen für die Zeit. Seltsamerweise erscheint dort für "00:00" die 2, anstatt die "1" !!  Keine Ahnung warum das so ist?  Versuche dann doch bitte die Formel in Spalte K auf die 2 umzustellen, und beobachte das ganze ob es dann mit der 2 richtig funktionert??  =WENN(J9=2;0;J9*24)  Ich nenne das Excel austricksen, bis es irgendwann klappt.  Einfach probieren, Versuch macht klug ...  Toi, toi, toi

Eine kleine Besonderheit ist die exakte Uhrzeit 24.00.  Die bekomme ich irgendwie nicht in den Griff, da macht er mir 1:00 draus.  Men Trick:  ich geben 23:59 ein, und setze in der Anfangszeit auch statt 10:00 den Wert 9:59 ein. Dann stimmt die Gesamtzeit wieder. Warum Excel bei 24:00 von selbst was automatisch umstellt ist mir nicht bekannt. Halte mich an den alten Praktiker Spruch:  "was nicht passt, wird einfach passend gemacht !!"  Meine Excel Erfahrungen und Praxis aus 20 Jahre arbeiten mit Excel.

mfg  Gast 123  

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wert As String, Zeit As Date, Txt As String
'Aussprung wenn die Zelle auf Zeit formatiert ist
If Target.NumberFormat = "h:mm" Then Exit Sub
'Bearbeiten nur von Textzellen  (in Zeit wandeln)
Application.EnableEvents = False
On Error GoTo Ende
Wert = Target.Value
Txt = Cells(6, Target.Column).Value
If Wert = Empty Then GoTo Ende
If Txt = "von" Or Txt = "bis" Then
  If Len(Wert) = 1 Then Zeit = CDate(Wert & ":00")
  If Len(Wert) = 2 Then Zeit = CDate(Wert & ":00")
  If Len(Wert) = 3 Then Zeit = CDate(Left(Wert, 1) & ":" & Right(Wert, 2))
  If Len(Wert) = 4 Then Zeit = CDate(Left(Wert, 2) & ":" & Right(Wert, 2))
     Target.NumberFormat = "h:mm"
     Target.Value = Zeit
End If
Ende: Application.EnableEvents = True
End Sub
Top
#58
Hallo Gast 123,

Danke, Danke und nochmals Danke. Das funktioniert jetzt richtig gut und Perfekt. Aber nur wenn man die Zellen Leer lässt, statt mit 00:00 zu füllen.
Wie gesagt da Makros neuland für mich ist, wie übertrage ich das in meine Originaltabelle ein? 

Einfach kopieren und Einfügen ?

Gruß

Paolo
Top
#59
Hallo Paolo

freut mich zu hören das es klappt,  Den Code einfach kopieren und einfügen.  Klappt meistens problemlos.  Sollte nach dem Kopieren Teile des Codes rot sein ist ein Übertragungsfehler passiert.  Das kann passieren wenn z.B. bei Kommentaren, die in grüner Schrift erscheinen, versehentlich das ' Zeichen nicht mit Kopiert wurde. Oder Leerzeichen (Space) von HTML durch das Sonderzeichen 160 ersetzt wurden. Optisch kann man den Unterschied zwischen ASCII Space und HTML Space nicht erkennen.  Das passiert aber selten.

mfg  Gast 123
Top


Gehe zu:


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