ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   20007 issue? (https://www.excelbanter.com/excel-programming/429107-20007-issue.html)

Pete

20007 issue?
 
I have used the code below to delete 29 of every 30 rows of data in a very
large data base of plant parameters. Each row represents one second of the
day (actually 27 hours of data logging i.e. 100,000 rows of data). This code
worked well in 2003 with 65,000+ rows but not so well in 2007.

The macro "breaks" after the line "... EntireRow.Delete". I can choose to
continue, end, or debug. If I use "select" instead of delete, the marco runs
fine.



Option Explicit

Sub Delete_rows()

Dim h As Long 'used as a fixed count in j loop
Dim i As Long 'counts number of total rows in spreadsheet
Dim k As Integer 'number of rows to be deleted
Dim m As Integer 'number of rows plus one to skip over when deleting

h = 0
i = 0
k = 29
m = 0 'leaves one row undeleted when m = 0

Application.ScreenUpdating = False

For i = 3 To 100000 'Number of rows in data sheet excludes headers
h = i + k - 1
Range("A" & i & ":" & "A" & h).EntireRow.Delete
i = i + m 'Leaves m+1 rows undeleted
Next

Application.ScreenUpdating = True
MsgBox "Progam Finished - Rows have beed deleted"

End Sub



I think this may be a bug in 2007 Excel VBA. Any thoughts would be
appreciated.

Pete


All times are GMT +1. The time now is 08:57 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com