Thread
:
Excel 2002 - Slow macros
View Single Post
#
13
Posted to microsoft.public.excel.programming
Dave Peterson[_3_]
external usenet poster
Posts: 2,824
Excel 2002 - Slow macros
Try adding:
Activesheet.displaypagebreaks = false
at the top, too.
When you delete a row with the pagebreaks shown, then excel wants to determine
where they go (again and again and again).
wrote:
Hi Tom
The first time the code runs it works a treat 5 seconds
to delete the rows, however the second time it runs it
takes 25 seconds. I guess there is no getting around this.
-----Original Message-----
there was a typo on one line where Value was vaue. Once
corrected, it
worked fine for me.
Sub Delete_Row_600_551()
Dim res As Long
Dim i As Long
Sheets("Data").Select
res = Application.Calculation
Application.Calculation = xlManual
Application.ScreenUpdating = False
For i = 600 To 551 Step -1
If Cells(i, "G").Value < Range("Q1") Or _
Cells(i, "G").Value Range("S1") Then
Cells(i, "G").EntireRow.Delete
End If
Next i
Application.Calculation = res
Application.ScreenUpdating = True
End Sub
--
Regards,
Tom Ogilvy
"Sanj" wrote in
message
...
Hi Tom
I kept getting a Debug error for some reason, I
couldn't
see a fault with the macro though can you help
cheers
-----Original Message-----
Sub Delete_Row_600_551()
Dim res as Long
Dim i as Long
Sheets("Data").Select
res = Application.Calculation
application.Calculation = xlManual
Application.ScreenUpdating = False
for i = 600 to 551 step -1
If Cells(i,"G").Value< Range("Q1") or _
Cells(i,"G").Vaue Range("S1") Then
cells(i,"G").EntireRow.Delete
End if
Next i
Application.Calculation = res
Application.ScreenUpdating = True
End Sub
--
Regards,
Tom Ogilvy
wrote in message
...
Here is a small Example
Sub Delete_Row_600_551()
Sheets("Data").Select
If Range("G600") < Range("Q1") Then
Rows("600:600").Select
Selection.Delete Shift:=xlUp
End If
If Range("G600") Range("S1") Then
Rows("600:600").Select
Selection.Delete Shift:=xlUp
End If
If Range("G599") < Range("Q1") Then
Rows("599:599").Select
Selection.Delete Shift:=xlUp
End If
If Range("G599") Range("S1") Then
Rows("599:599").Select
Selection.Delete Shift:=xlUp
End If
End Sub
-----Original Message-----
Can you post your script here? Otherwise I cannot
tell
you why it does
that....
---
Message posted from
http://www.ExcelForum.com/
.
.
.
--
Dave Peterson
Reply With Quote
Dave Peterson[_3_]
View Public Profile
Find all posts by Dave Peterson[_3_]