2012-07-03 148 views
4

我希望有人可以幫助這段代碼。如果我在列A中找到文本「FemImplant」,我試圖刪除整行。棘手的部分是,此文本是由'$'鏈接的句子的一部分。所以我需要用代碼解析'$'之前的單元格內容,看它是否與'FemImplant'匹配並刪除該行。這是我迄今爲止的,但它沒有工作。根據條件刪除行

Dim cell As Excel.Range 
RowCount = DataSheet.UsedRange.Rows.Count 
Set col = DataSheet.Range("A1:A" & RowCount) 
Dim SheetName As String 
Dim ParsedCell() As String 

For Each cell In col 

ParsedCell = cell.Value.Split("$") 
SheetName = ParsedCell(0) 

If SheetName = "FemImplant" Then 
cell.EntireRow.Delete Shift:=xlUp 

End If 

下一頁

+0

我遇到的主要問題是,我不能夠讓它循環從底部。我設置的方式是從頂部循環,而不是刪除連續的行。 – user1452091

回答

12

您可以使用自動篩選刪除其中包含文本FemImplant$行。這種方法比循環要快得多。

看到這個例子

我假設單元格A1有頭。

Sub Sample() 
    Dim ws As Worksheet 
    Dim strSearch As String 
    Dim lRow As Long 

    strSearch = "FemImplant$" 

    Set ws = Sheets("Sheet1") 

    With ws 
     lRow = .Range("A" & .Rows.Count).End(xlUp).Row 

     '~~> Remove any filters 
     .AutoFilterMode = False 

     '~~> Filter, offset(to exclude headers) and delete visible rows 
     With .Range("A1:A" & lRow) 
      .AutoFilter Field:=1, Criteria1:="=*" & strSearch & "*" 
      .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete 
     End With 

     '~~> Remove any filters 
     .AutoFilterMode = False 
    End With 
End Sub 

快照

enter image description here

+0

+1是自動過濾器比循環更好:) –

+0

工作,謝謝! – user1452091

+0

Purrrfect。謝謝! –