keesantens
Gebruiker
- Lid geworden
- 29 sep 2012
- Berichten
- 17
Hallo lezers,
Ik heb de volgende code in VBA van Excel staan:
Het duurt een hele tijd zeker enkele 10 minuten om zo'n enkel wijzigingen (zo'n 3 wijzigingen) in een tabel door te voeren (tabel bestaat uit zo'n 8000 records, worden alleen maar meer).
Hoe kun je de tijd aanzienlijk verkorten??
Ik heb de volgende code in VBA van Excel staan:
Type aRecord
Date As Long
Shift As String
Group As String
Unit As String
Capaciteit As String
Expectedproduction As String
Produced As String
Disapproved_product As String
Microstops As String
Quality As String
OEE As Double
End Type
Public Sub MaakDatabase()
Application.ScreenUpdating = False
Dim nEinde As Long
Dim nRegelteller As Long
Dim nRegel As Long
Dim aRegel(100000) As aRecord
With sheets("Afkeur")
Application.ScreenUpdating = False
nEinde = .Range("A100000").End(xlUp).Row
nRegelteller = 1
nRegel = 0
With .Range("A1")
Do While nRegelteller <= nEinde
If Val(.Offset(nRegelteller, 0)) > 0 Then
aRegel(nRegel).Microstops = .Offset(nRegelteller, 6)
aRegel(nRegel).Disapproved_product = .Offset(nRegelteller, 9)
aRegel(nRegel).Quality = .Offset(nRegelteller, 12)
aRegel(nRegel).OEE = .Offset(nRegelteller, 14)
nRegel = nRegel + 1
End If
nRegelteller = nRegelteller + 1
Loop
End With
End With
nRegelteller = 0
With sheets("Tijd").Range("A2")
Application.ScreenUpdating = False
Do While nRegelteller < nRegel
.Offset(nRegelteller, 78) = aRegel(nRegelteller).Microstops
.Offset(nRegelteller, 83) = aRegel(nRegelteller).Disapproved_product
.Offset(nRegelteller, 86) = aRegel(nRegelteller).Quality
.Offset(nRegelteller, 87) = aRegel(nRegelteller).OEE
nRegelteller = nRegelteller + 1
Loop
End With
Application.ScreenUpdating = False
End Sub
Het duurt een hele tijd zeker enkele 10 minuten om zo'n enkel wijzigingen (zo'n 3 wijzigingen) in een tabel door te voeren (tabel bestaat uit zo'n 8000 records, worden alleen maar meer).
Hoe kun je de tijd aanzienlijk verkorten??