2016-06-01 29 views
0

我想從表(ListObject)中刪除整行,但我在尋找行時遇到問題。 下面的代碼工作知府時不被過濾表:從已過濾的ListObject中刪除錶行

Sub loeschen() 

If errorhandling Then On Error GoTo fehlerbehandlung 

    ActiveCell.ListObject.ListRows(ActiveCell.Row - ActiveCell.ListObject.HeaderRowRange.Row).Delete 

Exit Sub 
fehlerbehandlung: 
fehlermeldung 

End Sub 

過濾是通過用戶在Excel中進行,而不是VBA。有沒有直接的方法來刪除一行或者我不得不刪除它?如果是這樣的話,我怎麼再過濾它以同樣的方式(用戶應該不會注意到什麼,如果有必要,我會申請Application.ScreenUpdating

預先感謝您

回答

0

我想通了。

你必須調用行這樣

ActiveCell.ListObject.Range.EntireRow(ActiveCell.Row - ActiveCell.ListObject.HeaderRowRange.Row + 1).Delete 

即使過濾,右排將被刪除。(爲.Select同樣的事情)