Zelle E100:AI100 wird umgeschrieben
22.01.2018 06:40:02
Johann
Dank eurer Hilfe habe ich schon einiges geschafft
und bin sehr Stolz auf euch!
Jetzt zum Problem :)
Ich habe in der Reihe E100:AI100 eine Formel.
Diese wird nach ablauf Code umgeschrieben.
Ich finde jedoch nicht wo im Code dies passiert.
bzw. das soll nicht passieren.
Option Explicit
Sub Namen_einlesen(TargetSheet As Worksheet)
If WorksheetFunction.CountA(Range("E2:AI99")) = 0 Then
Dim lngLast As Long
With Sheets("Daten")
lngLast = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row)
TargetSheet.Range("A2:D99").ClearContents
.Range("A2:D" & lngLast).Copy
TargetSheet.Range("A2").PasteSpecial xlPasteValues
TargetSheet.Range("A2").PasteSpecial xlPasteFormats
TargetSheet.Range("A2").PasteSpecial xlPasteComments
Application.CutCopyMode = False
End With
Call mitarbeiterTage(TargetSheet)
Else
Exit Sub
End If
End Sub
Sub mitarbeiterTage(TargetSheet As Worksheet)
Dim lngLast As Long, lngRow As Long, lngCol As Long, lngLastCol As Long
Dim varTemp As Variant, varRet As Variant, lngWeek As Long, lngDay As Long
Dim objData As Worksheet
Set objData = Worksheets("Daten")
With TargetSheet
lngLast = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row)
lngLastCol = 4 + Day(DateSerial(Year(TargetSheet.Range("E1")), Month(TargetSheet.Range("E1") _
) + 1, 0))
varTemp = .Range(.Cells(1, 3), .Cells(lngLast, lngLastCol))
For lngRow = 2 To UBound(varTemp, 1)
varRet = Application.Match(varTemp(lngRow, 1), objData.Columns(3), 0)
If IsNumeric(varRet) Then
For lngCol = 3 To UBound(varTemp, 2)
If isHolyday(varTemp(1, lngCol)) = "" And Weekday(varTemp(1, lngCol), vbMonday)