Ik heb een code geschreven, echter moet ik dit voor 30 werknemers doen. Weet iemand hoe ik een snelle loop kan maken? Hij moet nu namelijk heel lang nadenken voordat ie alles heeft weggeschreven:
Code:
If Sheets(WsWerknemers).Range("B3") = "In dienst" And Sheets(WsInvoerblad).Range("C7") <> "" Then
Sheets(WsInvoerblad).Unprotect
Sheets(WsInvoerblad).Range("B7:H7").Copy
iSchrijfRij = Sheets(WsWerknemer1).Range("A502").End(xlUp).Row + 1
Sheets("1").AutoFilterMode = False
Sheets(WsWerknemer1).Rows(iSchrijfRij).PasteSpecial xlValues
Worksheets(WsWerknemer1).Range("A8:H502").Borders.LineStyle = xlNone
Sheets(WsWerknemer1).Activate
''Application.ScreenUpdating = False
''Worksheets(WsWerknemer1).Rows("1:3").EntireRow.Hidden = Sheets("1").Range("D3") > 0
Dim rBereik As Range
Dim dTarief As Double
dTarief = Worksheets(WsWerknemers).Range("D3").Value
For Each rBereik In Worksheets(WsWerknemer1).Range("B9:B502")
If rBereik.Value <> "" Then
With Worksheets(WsWerknemers).Range("E2:AA2")
Set Apotheek = .Find(rBereik.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not Apotheek Is Nothing Then
Worksheets(WsWerknemer1).Range("H" & rBereik.Row).Value = Worksheets(WsWerknemers).Cells(3, Apotheek.Column) * dTarief
End If
End With
End If
Next
Worksheets(WsWerknemer1).Range("A8:H502").Sort Key1:=Worksheets(WsWerknemer1).Range("A8"), Order1:=xlAscending, Key2:=Worksheets(WsWerknemer1).Range("B8"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Else
End If
If Sheets(WsWerknemers).Range("B4") = "In dienst" And Sheets(WsInvoerblad).Range("C8") <> "" Then
Sheets(WsInvoerblad).Unprotect
Sheets(WsInvoerblad).Range("B8:H8").Copy
iSchrijfRij = Sheets(WsWerknemer2).Range("A502").End(xlUp).Row + 1
Sheets("2").AutoFilterMode = False
Sheets(WsWerknemer2).Rows(iSchrijfRij).PasteSpecial xlValues
Worksheets(WsWerknemer2).Range("A8:H502").Borders.LineStyle = xlNone
Sheets(WsWerknemer2).Activate
''Application.ScreenUpdating = False
''Worksheets(WsWerknemer2).Rows("1:3").EntireRow.Hidden = Sheets("2").Range("D3") > 0
dTarief = Worksheets(WsWerknemers).Range("D4").Value
For Each rBereik In Worksheets(WsWerknemer2).Range("B9:B502")
If rBereik.Value <> "" Then
With Worksheets(WsWerknemers).Range("E2:AA2")
Set Apotheek = .Find(rBereik.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not Apotheek Is Nothing Then
Worksheets(WsWerknemer2).Range("H" & rBereik.Row).Value = Worksheets(WsWerknemers).Cells(4, Apotheek.Column) * dTarief
End If
End With
End If
Next
Worksheets(WsWerknemer2).Range("A8:H502").Sort Key1:=Worksheets(WsWerknemer2).Range("A8"), Order1:=xlAscending, Key2:=Worksheets(WsWerknemer2).Range("B8"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Else
End If