• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA code sneller maken

Status
Niet open voor verdere reacties.

Danielle22

Gebruiker
Lid geworden
8 mei 2007
Berichten
378
Hallo allemaal,

Ik gebruik deze code:

Code:
Sub zoek()

Stand.Show
stand.Repaint

Sheets("tarieven").Select
Dim r As Range, adr As String
Application.ScreenUpdating = False
With Sheets("tarieven").Columns(17)
    Set r = .Find("PH")
    If Not r Is Nothing Then
        adr = r.Address
        Do
            r(4).Resize(10, 15).ClearContents
            With Sheets("DownloadSAP").Range("A1").CurrentRegion
                .AutoFilter Field:=3, Criteria1:=r(2).Value
                .Copy r(3)
                .AutoFilter
            End With
            Set r = .FindNext(r)
        Loop While r.Address <> adr
    End If
End With: Application.ScreenUpdating = True

Stand.Hide

End Sub

Deze code wordt steeds maar langzamer terwijl het bestand in grote hetzelfde blijft. Weet iemand of ik deze code een beetje efficiënt heb ingericht? Of kan deze code nog sneller gemaakt worden?

Alvast heel erg bedankt voor de eventuele reacties.

Groetjes,

Danielle
 
probeer ook eens calculate of manual te zetten. als er dependencies in de formules zitten genereert deze code enorm veel calculate updates
 
Ik zou er geen bezwaar tegen hebben een voorbeeld werkboek te zien.
Ik sluit niet uit dat, als duidelijk is wat je precies wil, er veel eenvoudiger methoden te gebruiken zijn.
Het gebruik van een userform lijkt me in deze situatie ook niet snelheidsbevorderend.
 
Bedankt voor de reacties. Ik zal eens kijken of ik een voorbeeld kan maken. Het is namelijk een groot bestand van 4 mb.

Er staan heel erg veel codes en ineens is het bestand heel erg traag geworden.

Ik kan zeker geen bestand van 10 MB uploaden?

Groetjes,

Danielle
 
Nee, dat kan niet, maar moet je ook niet willen.

Jouw code gaat puur om het leegmaken van een aantal gebieden en deze met nieuwe gegevens/formules vullen. Beperk je daartoe (2 werkbladen lijken me dan voldoende)
 
Hallo,

Ik heb het bestandje helemaal uit elkaar gehaald. Normaald is het rond de 4 mb.

Nu loopt de code wel heel snel, dit komt omdat er maar heel erg weinig gegevens is staan. Maar bij deze actie (zie macroknop) loopt het vast of doet er wel een half uur over. Zou deze code ook iets efficienter kunnen?

Groetjes,

Danielle

Bekijk bijlage test.zip
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan