Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1696to1700
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
Inhaltsverzeichnis

Bräuchte noch kleine Adaptierung zum Code ...

Bräuchte noch kleine Adaptierung zum Code ...
26.06.2019 10:46:12
STeve
Hallo liebe Helfer....
bräuchte zum folgendem - (zeitlich leider bereits aus der Listensuche gefallen) - Beitrag noch eine kleine Adaptierung:

Ist mindestens 35 h durchgehende Ruhezeit vorhand ------von STeve vom 19.06.2019 11:41:47

geholfen wurde mir -glücklicherweise- von:
von ChrisL am 19.06.2019 16:00:28
Hier die Datei mit seinem Code:
https://www.herber.de/bbs/user/130589.xls
Adaptierung:
Schaffe es nicht dass wenn in Zeile 3 "ER" steht trotzdem die 35h Ruhezeit erkannt wird?
Auf Tabelle 2 sind vier Beispiel- Wochenzeiten eingetragen wo eben "falsch" ausgeworfen wird obwohl die 35h Ruhezeit vorhanden ist - weil eben ER in Zeile drei steht.
Bitte um eure Hilfe.
Besten Dank und mfg
STeve

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

Betreff
Datum
Anwender
Anzeige
AW: Bräuchte noch kleine Adaptierung zum Code ...
26.06.2019 15:53:19
Piet
Hallo Stevw
die Lösung ist recht einfach, wenn man solche VBA Tricks kennt. Ich denke du verstehst meine Aenderung sofort.
Neue Variable sind: - Txt as String und lz1 as Long für Text in der Zelle und LastZeile deer Zelle mit "ER"
mfg Piet
Sub Tsst()
Dim lz1 As Long, Txt As String
Dim iSpalte As Integer, iZeile As Integer
Dim cStunden As Currency, bEingehalten As Boolean
' Datenbereinigung
For iSpalte = 1 To 7
If Cells(Rows.Count, iSpalte).End(xlUp) = 0 Then _
Cells(Rows.Count, iSpalte).End(xlUp) = TimeSerial(23, 59, 59)
Next iSpalte
' Berechnung
For iSpalte = 1 To 7
'LastZell und Wert in Zelle in Variable laden
lz1 = Cells(Rows.Count, iSpalte).End(xlUp).Row
Txt = Cells(Rows.Count, iSpalte).End(xlUp).Value
'ggf. Text éER" für Prüfung löschen!!
If Cells(lz1, iSpalte).Value = "ER" Then Cells(lz1, iSpalte).Value = Empty
If WorksheetFunction.Count(Range("A3:A100").Offset(0, iSpalte - 1))  _
WorksheetFunction.CountA(Range("A3:A100").Offset(0, iSpalte - 1)) Then
cStunden = 0
MsgBox iSpalte
Else
If WorksheetFunction.CountA(Range("A3:A100").Offset(0, iSpalte - 1)) = 0 Then
cStunden = cStunden + 1
If cStunden >= 35 / 24 Then
bEingehalten = True
Exit For
End If
Else
cStunden = cStunden + WorksheetFunction.Min(Range("A3:A100").Offset(0, iSpalte - 1))
If cStunden >= 35 / 24 Then
bEingehalten = True
Exit For
End If
cStunden = 1 - WorksheetFunction.Max(Range("A3:A100").Offset(0, iSpalte - 1))
End If
End If
'ggf. Text éER" in Zlle wider einfügen!!
If Txt = "ER" Then Cells(lz1, iSpalte).Value = "ER"
Next iSpalte
MsgBox bEingehalten
End Sub

Anzeige
Klasse gelöst. Danke
27.06.2019 12:11:25
STeve
Hallo Piet.
Tausend Dank für deine schnelle Hilfe und Lösung.
Hahaha ;-)))...sowas wäre mir nie eingefallen. Klappt ja wunderbar.
Dir noch einen schönen Tag und mfg
STeve

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige