Monat auslesen
14.08.2023 08:10:30
Christian
hi MCO,
ich habe von MCO diesen Code erhalten, um auf einem Reinigungsplan einzelne Tage auslesen zu können ( WVerweis / SVerweis - 10.08.23 / 07:36 Uhr).
Jetzt würde ich das noch für den kompletten Monat benötigen, und weiß leider nicht weiter, wie das hier so ginge. Ich habe mir mit einer Hilfsliste beholfen, in dem ich die Tage komplett kopiere und dann auf einer anderen Liste untereinander eintragen lasse. Das Problem dabei ist aber, wenn zwei mal am Userform "gedrückt" wird, wird auch zweimal der gleiche Tag eingetragen (Userform ist aber auf der hoch geladenen Liste nicht dabei!). Geht das irgendwie, dass ich anhand der Spalte "A" den Monat auswerte? Möglicherweise könnte auch das Datum eingegeben werden (von - bis ), aber da fehlt mir irgendwie der Ansatz.
Danke vorab
Christian
Sub Zimmerreinigungsplan()
Dim row As Single
Dim z As Single
Dim num As Range
Dim sh_rein As Worksheet
Dim sh_Beleg As Worksheet
Set sh_rein = Sheets("Reinigung")
Set sh_Beleg = Sheets("Belegung")
Set gefunden = sh_Beleg.Range("B:B").Find(sh_rein.Range("B1"))
If gefunden Is Nothing Then MsgBox "das Datum gibt´s nicht", vbExclamation, "Fehler": Exit Sub
z = 4
row = gefunden.row
For Each num In sh_Beleg.Range("E5:AA5") 'alle Zimmer durchgehen
If num.Offset(-1, 0) > 0 Then DZ_EZ = num.Offset(-1, 0) 'wg verbundener Zellen ist nur die erste zelle mit einem Wert belegt. daher bleibt der bestehen solange kein neuer Wert kommt.
If num.Offset(-2, 0) > 0 Then Gebäude = num.Offset(-2, 0) 'hier auch
With sh_Beleg.Cells(row, num.Column)
If .Value > "" Then
Select Case .Value
Case "norm": Uhrzeit = "8:00"
Case "late": Uhrzeit = "12:00"
End Select
With sh_rein 'Daten eintragen
.Cells(z, "A") = Gebäude
.Cells(z, "B") = num
.Cells(z, "C") = DZ_EZ
'.Cells(z, "E") = "JA"
.Cells(z, "F") = Uhrzeit
z = z + 1
End With
End If
End With
Next
End Sub
https://www.herber.de/bbs/user/162263.xlsx