Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Radek Klepáček:27.6.2018 3:14

Ahoj. Pro podbarvení buněk které mají určitou hodnotu používám tuto proceduru. Pokud však procházím cca 7000 řádků, tak se mi zdá pomalá.

Zkusil jsem:

Sub NULA()

    Dim lastrowAA As Long
    lastrowAA = Cells(Rows.Count, 1).End(xlUp).Row
    Set Rng = Range("E2:E" & lastrowAA)
    i = 1
    For counter = 1 To Rng.Rows.Count
        If Rng.Cells(i).Value2 = "0" Then
            Rng.Cells(i).Interior.Color = RGB(255, 255, 0)
        Else

        End If
        i = i + 1
    Next

End Sub

Chci docílit: Šlo by to nějak urychlit?
Děkuji

 
Odpovědět
27.6.2018 3:14
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovídá na Radek Klepáček
Petr Šťastný:27.6.2018 8:49

Problém by mohl být v tom, že excel pokaždé, když obarvíš buňku, překreslí celou obrazovku. Zkus dát tohle na začátek:

Application.ScreenUpdating = False
Application.EnableEvents = False

A tohle na konec procedury, až úplně dokončíš obarvování:

Application.ScreenUpdating = True
Application.EnableEvents = True
Editováno 27.6.2018 8:49
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
27.6.2018 8:49
Avatar
Odpovídá na Petr Šťastný
Radek Klepáček:27.6.2018 8:52

Jejda standard, na který jsem zapomněl.
Jistě že pomohlo. Děkuji

 
Nahoru Odpovědět
27.6.2018 8:52
Avatar
Odpovídá na Radek Klepáček
Matúš Olejník:27.6.2018 9:38

Dobré by bolo označiť odpoveď, ktorá ti pomohla ako riešenie tvojho problému :)

Nahoru Odpovědět
27.6.2018 9:38
/* I am not sure why this works but it fixes the problem */
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.