Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summe in VBA

Forumthread: Summe in VBA

Summe in VBA
Uwe
Hallo,
nicht, das ich jetzt schon wieder ein Problem hätte... Nun denn. Ich nutze eine Prozedur, um je nach Wochentag eine vorgegebene Stundenzahl (Mo-Do = 8:00 Std, Fr = 7:00 Std, Sa = 0:00 Std, So = 0:00 Std) in den Zellen "D9:D39" auszugeben. Soweit klappt das noch.
Jetzt aber besteht die Aufgabe darin, vom Wert in den Zellen "D9:D39" den Wert in Zellen "K9:K39", sowie den Wert in Zellen "M9:M39" abzuziehen.
Wie aber geht das?
Besten Dank für Eure Hilfe
Uwe
PS: Hier einfach mal das, was bisher funktioniert:
Sub Arbeitszeit_TVöD()
Dim rng As Range
Range("D9:D39").ClearContents 'Zellen erst mal leermachen
For Each rng In Me.Range("A9:A" & Me.Cells(Rows.Count, 1).End(xlUp).Row)
Select Case Weekday(rng, 2) 'Wochentag steht in Spalte 2
Case 1 To 4 'Wenn Mo - Do dann
rng.Offset(0, 3) = TimeSerial(8, 0, 0)
Case 5 'Wenn Fr dann
rng.Offset(0, 3) = TimeSerial(7, 0, 0)
Case Else
End Select
Next
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Summe in VBA
23.09.2009 16:44:03
fcs
Hallo Uwe,
du kanst die Spalten K und M als Offset zu rng festlegen oder per Cells mit rng.Row als Zeile.
Gruß
Franz
Sub Arbeitszeit_TVöD()
Dim rng As Range
Range("D9:D39").ClearContents 'Zellen erst mal leermachen
For Each rng In Me.Range("A9:A" & Me.Cells(Rows.Count, 1).End(xlUp).Row)
Select Case Weekday(rng, 2) 'Wochentag steht in Spalte 2
Case 1 To 4 'Wenn Mo - Do dann
rng.Offset(0, 3) = TimeSerial(8, 0, 0) - rng.Offset(0, 10).Value - rng.Offset(0, 12). _
Value
'rng.Offset(0, 3) = TimeSerial(8, 0, 0) - Me.Cells(rng.Row, 11).Value - Me.Cells(rng.Row,  _
13).Value
Case 5 'Wenn Fr dann
rng.Offset(0, 3) = TimeSerial(7, 0, 0) - rng.Offset(0, 10).Value - rng.Offset(0, 12). _
Value
'rng.Offset(0, 3) = TimeSerial(8, 0, 0) - Me.Cells(rng.Row, 11).Value - Me.Cells(rng.Row,  _
13).Value
Case Else
End Select
Next
End Sub

Anzeige
AW: Summe in VBA
24.09.2009 09:58:01
Uwe
Hallo Franz!
Leider funktionieren beide Lösungsansätze nicht. Ich gehe mal davon aus, das die schon richtig sind, ich aber doch dabei etwas übersehe...
Danke trotzdem schon mal.
Uwe
AW: Summe in VBA
24.09.2009 10:02:45
Wolli
Hallo Uwe,
hast Du versucht, die umgebrochenen Zeilen wieder zurückzubauen?
aus ... ... rng.Offset(0, 12). _
Value
wird ... ... rng.Offset(0, 12).Value
Das verhunzt leider die Forensoftware manchmal.
Gruß, Wolli
Anzeige
AW: Summe in VBA
24.09.2009 11:37:10
Uwe
Hallo Wolli,
in dem Punkt bin ich mir sicher, das richtig gemacht zu haben. Der Unterstrich bedeutet ja innerhalb der VBA einfach "Zeilenumbruch"...
Trotzdem Danke
Gruß
Uwe
AW: Summe in VBA
24.09.2009 11:41:25
fcs
Hallo Uwe,
wen du mit verbundenen Zellen arbeitest, dann gibt Problem. Wenn ich mich recht erinnere, dann dann ist die Offset-Variante von verbundenen Zellen gar nicht begeistert.
Damit die Rechnung funktioniert müssen die Werte in den Spalten K und M auch Zeitwerte sein, also kein Text oder Dezimalangaben von Stunden.
Falls doch, dann müssen die Werte in der Formel entsprechend umgerechnet werden.
Bei Zeit als Text mit der Funktion Timevalue bei Stundne als Dezimalzahl muss du den Wert durch 24 dividieren.
Gruß
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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