Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeiten subtrahieren

Forumthread: Zeiten subtrahieren

Zeiten subtrahieren
24.07.2007 16:05:58
Marc85
Hallo,
ich habe ein kleineres oder auch größeres Problem, wäre nett wenn mir jemand bei der behebung behilflich sein könnte!
Und zwar wird in die Spalte A eine Zeit eingetragen, jedoch ohne Doppelpunkt ( z.B. 236 für 2:36 oder 1134 für 11:34) nach der Eingabe soll die Zahl in eine Uhrzeit umgewandelt werden und von der Referenzzeit 12:00, die überall in Spalte B steht abgezogen werden. Das Ergebnis Also B-A soll dann in Spalte C ausgegeben werden. Die in A eingetragene Zeit muss kleiner sein als 12:00!
Habe folgenden Entwurf dazu gemacht!

Public Sub Active_Cell()
Columns(2).Value = "12:00"
Referenzzeit = "12:00"
zahl = ActiveCell
Zeichenanzahl = Len(zahl)
If Zeichenanzahl = 4 Then
Zeichen1 = Mid(zahl, 1, 2)
Zeichen2 = Mid(zahl, 3, 4)
ActiveCell.Value = Zeichen1 & ":" & Zeichen2
Columns(3).Value = "=RC[-1]-RC[-2]"
ElseIf Zeichenanzahl = 3 Then
Zeichen3 = Mid(zahl, 1, 1)
Zeichen4 = Mid(zahl, 2, 3)
ActiveCell.Value = Zeichen3 & ":" & Zeichen4
Columns(3).Value = "=RC[-1]-RC[-2]"
End If
End Sub


Nun ist dieser Entwurf allerdings nur für die Active Zelle programmiert und ich weiß nicht wie ich das programm auf die ganze Spalte A ausbreiten kann!
Außerdem sollte das Programm mit der Enzter Taste ausgelöst werden!
Wäre nett wenn mir jemand helfen kann!
Grüße Marc

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeiten subtrahieren
24.07.2007 16:19:00
Hajo_Zi
Hallo Marc,
hier mal der Code zum umschreiben der Uhrzeit.

Option Explicit
'* H. Ziplies                                     *
'* 28.12.02; 01.10.06                             *
'* erstellt von Hajo.Ziplies@web.de               *
'* http://Hajo-Excel.de/
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count > 1 Then Exit Sub
Dim RaBereich As Range                      ' Bereich der Wirksamkeit
Dim RaZelle As Range                        ' zur Zeit untersuchte Zelle
Dim InS As Integer                          ' Variable für Stunde
Dim InM As Integer                          ' Variable für Minute
Dim InSe As Integer                         ' Variable für Sekunde
Set RaBereich = Range("D4:E10, H4:H10")     ' Bereich der Wirksamkeit festlegem
'   noch mehr Bereiche
'    Set RaBereich = Union(Range("C7:I26"), Range("L7:R26"), Range("U7:AA26"), Range("AD7:AJ26") _
)
'    ActiveSheet.Unprotect "Password"        ' Schutz der Tabelle aufheben
Application.EnableEvents = False            ' Reaktion auf Zellveränderung abschalten
For Each RaZelle In Range(Target.Address)   ' Schleife falls mehr als eine Zelle mit einmal  _
verändert
If Not Intersect(RaZelle, RaBereich) Is Nothing Then    ' Zelle ist im Bereich der  _
Wirksamkeit
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
If Len(Target.Value) > 4 Then           ' es wurden Stunden eingeben
InS = Left(.Value, Len(.Value) - 4)
InM = Mid(.Value, Len(.Value) - 3, 2)
InSe = Right(.Value, 2)
ElseIf Len(Target.Value) > 2 Then           ' es wurden keine Stunden  _
eingegeben
InS = 0
InM = Left(.Value, Len(.Value) - 2)
InSe = Right(.Value, 2)
Else                                    ' es wurden nur Sekunden  _
eingegeben
InS = 0
InM = 0
InSe = .Value
End If
.NumberFormat = "[h]:mm:ss"             ' Zellformat setzen
.Value = InS & ":" & InM & ":" & InSe   ' Zeit in Zelle schreiben
End If
End If
End With
End If
Next RaZelle
'    ActiveSheet.protect "Password"          ' Schutz der Tabelle aufheben
Application.EnableEvents = True         ' Reaktion auf Zellveränderung einschalten
End Sub



Anzeige
AW: Zeiten subtrahieren
24.07.2007 17:07:29
Marc85
ist es nicht möglich das von mir geschriebene Programm abzuändern?
Gruss Marc
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige