AW: Zellen auf anderes Arbeitsblatt übertragen
26.10.2019 11:34:34
Regina
Hi, hier der überarbeitete Code, die Pausen werden jetzt nur übertragen, wenn sie in der Zulagenzeit liegen. Einzige Ausnahme: Wenn die Zulagenzeit um 0 Uhr beginnt werden keine Pausen übertragen. Guck mal, ob das so passt.
Die eine Zeile im Code war in der Tat "über", war ein Rest, den ich nicht ganz gelöscht hatte.
Public Sub Uebertrag()
Dim obj_wks_ziel As Worksheet
Dim obj_wks_quelle As Worksheet
Dim lng_letzte_zeile As Long
Dim lng_spalte As Long
Set obj_wks_ziel = Worksheets("Zulagenblatt") ' Hier Zieltabellenblatt benennen
Set obj_wks_quelle = Worksheets("Schichtplan") ' Hier Quelltabellenblatt benennen
lng_spalte = 2 ' Startzeile im Quellblatt
obj_wks_ziel.Range("I57:U117").ClearContents
lng_letzte_zeile = 57
With obj_wks_quelle
For lng_spalte = 2 To 32
If .Cells(13, lng_spalte) "" Then
obj_wks_ziel.Cells(lng_letzte_zeile, 1) = .Cells(3, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 2) = .Cells(4, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 3) = .Cells(13, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 4) = .Cells(14, lng_spalte).Value
If .Cells(9, lng_spalte).Value >= .Cells(13, lng_spalte).Value _
And CLng(.Cells(13, lng_spalte).Value * 24) 0 Then
obj_wks_ziel.Cells(lng_letzte_zeile, 5) = .Cells(9, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 6) = .Cells(10, lng_spalte).Value
End If
If .Cells(11, lng_spalte).Value >= .Cells(13, lng_spalte).Value _
And CLng(.Cells(13, lng_spalte).Value * 24) 0 Then
obj_wks_ziel.Cells(lng_letzte_zeile, 7) = .Cells(11, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 8) = .Cells(12, lng_spalte).Value
End If
lng_letzte_zeile = lng_letzte_zeile + 1
End If
If .Cells(15, lng_spalte) "" Then
obj_wks_ziel.Cells(lng_letzte_zeile, 1) = .Cells(3, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 2) = .Cells(4, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 3) = .Cells(15, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 4) = .Cells(16, lng_spalte).Value
If .Cells(9, lng_spalte).Value >= .Cells(15, lng_spalte).Value _
And CLng(.Cells(15, lng_spalte).Value * 24) 0 Then
obj_wks_ziel.Cells(lng_letzte_zeile, 5) = .Cells(9, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 6) = .Cells(10, lng_spalte).Value
End If
If .Cells(11, lng_spalte).Value >= .Cells(15, lng_spalte).Value _
And CLng(.Cells(15, lng_spalte).Value * 24) 0 Then
obj_wks_ziel.Cells(lng_letzte_zeile, 7) = .Cells(11, lng_spalte).Value
obj_wks_ziel.Cells(lng_letzte_zeile, 8) = .Cells(12, lng_spalte).Value
End If
lng_letzte_zeile = lng_letzte_zeile + 1
End If
Next
End With
End Sub