Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA EXCEL 2010 - Usprawnienie działania makra

daisetsu.ryusaki 11 Wrz 2014 09:21 828 4
  • #1 11 Wrz 2014 09:21
    daisetsu.ryusaki
    Poziom 5  

    Dzień Dobry,

    Z VBA w Excelu mam doczynienia od niedawna i dopiero co poznałem w wąskim zakresie programowanie.
    Problem dotyczy wolno działającego makra. Nie potrafię go usprawnić, by działało szybciej,a przy 25 000 kopiowanych wierszach trwa to około 25 minut :/. Proszę o pomoc we wskazaniu błędu, podpowiedzi i sugestie.

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    [/code]

    0 4
  • #2 11 Wrz 2014 09:39
    marcinj12
    Poziom 40  

    Zacznij od:

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    na początku makra i
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    na końcu. Zmierz czas i sprawdź, na ile się poprawiło...

    0
  • #3 11 Wrz 2014 12:16
    daisetsu.ryusaki
    Poziom 5  

    Application.ScreenUpdating = False
    Application.ScreenUpdating = True
    te dwie znam.
    Oczywiście sprawdzę te drugie :P

    0
  • #4 11 Wrz 2014 12:45
    marcinj12
    Poziom 40  

    Może zamaist tej pętli:

    daisetsu.ryusaki napisał:
    For w = 11 To ost_w
    If .Cells(w, 1) <> "" Then
    Range("A" & w & ":Z" & w).ClearContents 'czyści zakres przed aktualizacją danych zawartych w arkuszu
    End If

    Next w
    da się zrobić po prostu:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #5 11 Wrz 2014 13:07
    daisetsu.ryusaki
    Poziom 5  

    zdecydowanie działa!! to tego właśnie chciałem. Raczej myślałem o edycji kodu aby szybciej to działało.

    U mnie taki skrót pętli for nie zadziałał. Muszę to dopasować do mojego pliku.

    Wielkie dzięki za pomoc.

    Wydaje mi się, że temat jest do zamknięcia. Resztę obczaję na forum i w googlach :)

    0