想知道是否有人注意到以下或類似代碼的行爲的變化:Range(「CustomTable」)。SpecialCells(xlCellTypeVisible).Delete現在失敗。運行時錯誤「1004」
.Range("CustomTable").SpecialCells(xlCellTypeVisible).EntireRow.Delete
我用它來刪除過濾的範圍上ListObjects
表格在Excel 2013和直到大約最後一週工作正常;現在,如果至少有兩條需要刪除的非連續行,則會拋出錯誤:"Run-time error '1004': Delete method of Range class failed
。我相信不僅僅是在過濾的數據集中沒有任何東西可見,我在調試中運行它,它肯定有多行刪除,它確實給出了一個正常的整行地址,並且有多行刪除,但它未能。
我已經通過剝離出EntireRow
解決了這個問題,並在確認菜單上抑制Excel警報,如果我想刪除整行。我只是問爲什麼突然停止工作?
你試過'For Each'循環嗎?它很慢,但應該工作...和**只是爲了調試**你有沒有試圖做每一步選擇檢查它失敗的地方?比如'.Range(「CustomTable」)。SpecialCells(xlCellTypeVisible).Select'然後是Selection.EntireRow.Select,然後是Selection.Delete。什麼都可以按需要工作?只是爲了確保它不是觸發錯誤的刪除本身(應該有效) –
對於excel來說可能過於複雜?它是很多行嗎? – Rosetta
表格很奇怪。如果您嘗試使用「Listrows(n).Delete」刪除過濾表中的一行,它只會失敗。也許他們正試圖解決它。 :) – Rory