logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przyspieszyć działanie makra w Excel 2010 przy kopiowaniu 25 000 wierszy?

daisetsu.ryusaki 11 Wrz 2014 09:21 1245 4
REKLAMA
  • #1 13951195
    daisetsu.ryusaki
    Poziom 9  
    Posty: 9
    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: text
    Zaloguj się, aby zobaczyć kod
    [/code]
  • REKLAMA
  • #2 13951229
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Zacznij od:
    Kod: text
    Zaloguj się, aby zobaczyć kod
    na początku makra i
    Kod: text
    Zaloguj się, aby zobaczyć kod
    na końcu. Zmierz czas i sprawdź, na ile się poprawiło...
  • REKLAMA
  • #3 13951559
    daisetsu.ryusaki
    Poziom 9  
    Posty: 9
    Application.ScreenUpdating = False
    Application.ScreenUpdating = True
    te dwie znam.
    Oczywiście sprawdzę te drugie :P
  • REKLAMA
  • #4 13951634
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    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: text
    Zaloguj się, aby zobaczyć kod
  • #5 13951698
    daisetsu.ryusaki
    Poziom 9  
    Posty: 9
    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 :)
REKLAMA