Excel VBA OutOfMemory
我有一个约3 MB的Excel文件。 我现在要删除所有行:
Dim maxRows As Double maxRows = ThisWorkbook.Worksheets("Anlagenliste").Rows.Count Dim a As Long For a = 26 To maxRows ThisWorkbook.Worksheets("Anlagenliste").Rows(a).EntireRow.Delete Next a
当循环执行第一次,即a=0
我得到一个outofmemoryexception? 有任何想法吗?
为什么循环:
With ThisWorkbook.Worksheets("Anlagenliste") .Range("26:" & .Rows.Count).EntireRow.Delete End With
Dim maxRows As Long maxRows = ThisWorkbook.Worksheets("Anlagenliste").UsedRange.Rows.Count Dim a As Long For a = maxRows to 26 STEP -1 ThisWorkbook.Worksheets("Anlagenliste").Rows(a).EntireRow.Delete Next a
- maxRows应该是
Long
, - 而像这样删除,你应该总是倒退(从下到上)
- 你应该开始删除最后一个USED行