13. juni 2018 - 10:20Der er
4 kommentarer og 1 løsning
Slet rækker hurtigere
Hej jeg har en makro som sletter rækker i et ark og den virker sådan set som den skal. Jeg har dog et problem, jeg synes den er for langsom. Den bruger ca. 2 min på at køre makroen igennem på arket. Problemet opstår da den skal køre denne makro på 106 ark (2*106=212min) Det vil sige man min computer er ude af brug i 3,5 time
Koden ser sådan her ud for at slette rækkerne:
Sub DelRow()
Sheets("enhed 6").Select
For Each c In Range("Q1:Q6054") If Not IsEmpty(c) And c.Value = 0 Then c.Value = True Next Range("Q1:Q6054").SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
utestet: For Each c In Range("Q1:Q6054") If Not IsEmpty(c) And c.Value = 0 Then Range("Q1:Q6054").SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete endif Next c
For Each c In Range("Q1:Q6054") If Not IsEmpty(c) And c.Value = 0 Then Range("Q1:Q6054").SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete end if Next c
Med min: For Each c In Range("Q1:Q6054") If Not IsEmpty(c) And c.Value = 0 Then c.Value = True Next Range("Q1:Q6054").SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
Det var godt - det koden gør, er,at den slår genberegning og skærmopdatering fra mens du sletter. Det er ret almindeligt, at langt den størte tid i eksekveringen af en makro går med de to ting.
Så tricket virker 9 ud af 10 gange, du synes en makro tager for lang tid.
Synes godt om
Ny brugerNybegynder
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.