Ga naar inhoud

Preformance Excel Macro


anoniem

Aanbevolen berichten

Ik heb de volgende macro geschreven. Deze moet plus minus 25000 line item controleren. Dit duurd redelijk lang. Omdat ik niet een een goede programeur ben. Zou ik jullie willen vragen er na te kijken en eventuele verbetering aan te brengen waardoor de macro sneller loopt. De Code: [code:1:f523678b49] Sub usergroup() Dim valuefalse As String Dim valuetrue As String Dim runTo As Integer Dim i As Integer Dim Waarde As String Dim check As String valuetrue = "yes" valuefalse = "no" ValidationArea = Sheet2.Range("A2:A24") runTo = Sheet2.Range("F1").Value For i = 0 To runTo check = Sheet1.Range("F1").Offset(i, 0).Value Waarde = Sheet1.Range("E1").Offset(i, 0).Value If (check <> valuetrue) Then For Each Value In ValidationArea If (Not (IsEmpty(Value))) Then If (Not (IsEmpty(Value)) And InStr(Waarde, Value)) Then Sheet1.Range("F1").Offset(i, 0).Value = valuetrue Exit For Else Sheet1.Range("F1").Offset(i, 0).Value = valuefalse End If Else Exit For End If Next End If Next End Sub [/code:1:f523678b49] Waarde = de waarde die de cel heeft (een string) die vergeleken moet worden met de value. Value = de een waarde uit de validationArea (hierin staan momenteel 12 waardes. runTo = tot welke line die moet lopen.
Link naar reactie
Ik ben gestopt met Excel om daar waardes mee te vergelijken, ik werk regelmatig met grootte bestanden (idd 25000, 50000 regels). Werkte wel maar het koffiezet apparaat maakte overuren. ;) Indien je een beetje met Access overweg kan dan merk je dat dit een factor 10 tot wel 1000 keer zo snel gaat en ook nog eens veel nauwkeuriger. Je maakt gebruik van een geneste lussen. ( de If then .. ). Dit kan vertragend werken. Tevens kan je de 12 waarden in een array plaatsen. Een array is een soort dim waarin plaats van 1 waarde meerdere waarde geplaatst kunnen worden. Vervang je vervolgens de geneste lussen door een case dan kan dit versnellend werken. Ik heb geen ervaring met het bouwen van arrays in Excel maar er is genoeg over te vinden op internet. Succes.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...