Ik heb een code in VBA gemaakt die wordt gestart bij het activeren van een bepaald werkblad. Echter duurt het best lang voordat alles in dat werkblad is berekend. Weet iemand misschien hoe ik onderstaande code korter kan schrijven, waardoor het sneller werkt.
Code:
Private Sub Worksheet_Activate()
Dim WsWerknemers As String
WsWerknemers = "Personeelsbestand"
Worksheets("1").Range("A1").Activate
If Sheets("1").Range("D3") > 0 Then
Rows("1:3").Select
Selection.EntireRow.Hidden = True
Range("A1").Select
End If
Dim rBereik As Range
For Each rBereik In Range("A9:A502")
If rBereik.Value <> "" And IsDate(rBereik) Then
Range("I" & rBereik.Row).Value = Year(rBereik) & Month(rBereik)
End If
Next
Dim dTarief As Double
dTarief = Worksheets(WsWerknemers).Range("D3").Value
For Each rBereik In Range("B9:B502")
If rBereik.Value <> "" Then
With Worksheets(WsWerknemers).Range("E2:S2")
Set Apotheek = .Find(rBereik.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not Apotheek Is Nothing Then
Range("H" & rBereik.Row).Value = Worksheets(WsWerknemers).Cells(3, Apotheek.Column) * dTarief
End If
End With
End If
Next
End Sub