Robert Smidt
Gebruiker
- Lid geworden
- 26 mei 2009
- Berichten
- 930
Beste Forumleden,
Onderstaande code gebruik ik om vanuit een planbordprogramma het verlof, ziekte enz. per medewerker te berekenen. Maar omdat er 64 regels en ruim 1000 kolommen zijn gevuld, wordt het systeem ontzettend traag. Wanneer ik onderstaande verwijder, dan is dat weer opgelost. Aangezien ik niet bij iedere mutatie hoef te weten wat het overzicht is, zou ik onderstaande graag uit willen schakelen. Dit heb ik deels opgelost met: If [B2] = False Then Exit Function, maar dan nog pakt het systeem een deel van de code. Is er ook een oplossing dat ik onderstaande code volledig uit en in kan schakelen op moment dat ik het overzicht wil bekijken?
Alvast heel hartelijk dank.
Robert
Onderstaande code gebruik ik om vanuit een planbordprogramma het verlof, ziekte enz. per medewerker te berekenen. Maar omdat er 64 regels en ruim 1000 kolommen zijn gevuld, wordt het systeem ontzettend traag. Wanneer ik onderstaande verwijder, dan is dat weer opgelost. Aangezien ik niet bij iedere mutatie hoef te weten wat het overzicht is, zou ik onderstaande graag uit willen schakelen. Dit heb ik deels opgelost met: If [B2] = False Then Exit Function, maar dan nog pakt het systeem een deel van de code. Is er ook een oplossing dat ik onderstaande code volledig uit en in kan schakelen op moment dat ik het overzicht wil bekijken?
Code:
Function MijnTijden(Naam As String, Maand As Integer, PrNaam As String, HoofdTabel As Range)
If [B2] = False Then Exit Function
On Error Resume Next
Dim RijNr As Integer, KolomNr As Integer, Temp, Rij, Temp2
If Naam = "" Then MijnTijden = "": Exit Function
Set Temp = HoofdTabel.Columns(1).Find(Naam, , , xlWhole)
If Temp Is Nothing Then
'MsgBox (Naam & " niet gevonden")
Exit Function
End If
RijNr = Temp.Row - HoofdTabel(1, 1).Row + 1
Rem For KolomNr = 6 To HoofdTabel.Columns.Count Step 1
For KolomNr = 8 To HoofdTabel.Columns.Count Step 1
Temp = HoofdTabel(1, KolomNr)
If IsDate(Temp) Then
If Month(Temp) = Maand Then
For Rij = RijNr To RijNr + 2
Temp2 = HoofdTabel(Rij, KolomNr)
If Temp2 = PrNaam Then
MijnTijden = MijnTijden + HoofdTabel(Rij, KolomNr + 1)
End If
Next
End If
End If
Next
End Function
Alvast heel hartelijk dank.
Robert