Sha*_*n H 8 excel vba excel-vba
我在Excel中有一个表,tblFruits有10列,我想删除Fruit列所包含的任何行Apple.我怎样才能做到这一点?
Sha*_*n H 11
以下子工作:
Private Sub deleteTableRowsBasedOnCriteria(tbl As ListObject, columnName As String, criteria As String)
Dim x As Long, lastrow As Long, lr As ListRow
lastrow = tbl.ListRows.Count
For x = lastrow To 1 Step -1
Set lr = tbl.ListRows(x)
If Intersect(lr.Range, tbl.ListColumns(columnName).Range).Value = criteria Then
'lr.Range.Select
lr.Delete
End If
Next x
End Sub
Run Code Online (Sandbox Code Playgroud)
子可以像这样执行:
Dim tbl As ListObject
Set tbl = ThisWorkbook.Worksheets("Sheet1").ListObjects("tblFruits")
Call deleteTableRowsBasedOnCriteria(tbl, "Fruit", "Apple")
Run Code Online (Sandbox Code Playgroud)