Avatar billede spliid88 Nybegynder
19. september 2011 - 18:52 Der er 3 kommentarer

Slow loop

Hello!

Jeg ønsker at skjule linier, som ikke opfylder to krav. Mit problem er, at benytter jeg entirerow.hidden eller bare offset.value = en værdi er loopet ekstremt langsomt. Det er ca. 30*700.

Først prøvede jeg entirerow.hidden og efterfølgende ville jeg bare sætte et 1-tal i en kolonne, og lave filter på denne, da filter er meget hurtigere.

Det ser således ud:

For Each fo In hLrng
    If fo.Offset(0, 5).Value = "x" Then
            For Each an In rngTree
              With an
                                                   
                    If .Value = vbNullString Or (fo.Value .Value _
                    And fo.Offset(0, 6).Value = .Offset(0,5).Value) Then
                           
                            .EntireRow.Hidden = False
                                           
                    End If
               
                End With
               
            Next
   
        End If
   
    Next


Loopet er hurtigt nok i sig selv.

Hjælp søges.
Avatar billede H_Klein Novice
19. september 2011 - 20:42 #1
Hejsa,

Har du mulighed for at sende lidt af arket og en beskrivelse af hvad der skal sorteres på når linierne skal skjules?

Min mail ligger under min profil :-)

Med venlig hilsen

Henrik
Avatar billede Wally73 Mester
20. september 2011 - 13:12 #2
Oftest er det selve opdateringen af skærmbilledet der gør disse handlinger langsomme.
Der er vist en metode til at deaktivere skærmopdateringen under scriptets udførsel og så aktivere den igen ved afslutning af scriptet, men jeg kan ikke huske hvad den er, så måske en anden kan hjælpe der.
Avatar billede spliid88 Nybegynder
20. september 2011 - 13:38 #3
Yes, jeg benytter allede ScreenUpdate=false. Så det er ikke det :-(!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester