![](/img/trans.png)
[英]Excel search and delete different specific cell that does not contain search value
[英]Delete row in Excel if a cell does not contain a specific value
我有一個工作表,我需要刪除直到G列為止G列上不包含短語“ @”的所有行。
這是我的樣本數據
如果G列上的單元格直到K列不包含“ @”,則刪除行
請幫我..
以下宏從第2行進行掃描,並刪除第2-5列不包含@
:
Sub Macro1()
CurRow = 2
While CurRow < Application.WorksheetFunction.CountA(Range("A:A")) + 1
If InStr(1, _
Sheet1.Cells(CurRow, 2) _
& Sheet1.Cells(CurRow, 3) _
& Sheet1.Cells(CurRow, 4) _
& Sheet1.Cells(CurRow, 5), _
"@", vbTextCompare) Then
Else
Sheet1.Rows(CurRow & ":" & CurRow).Delete Shift:=xlUp
CurRow = CurRow - 1
End If
CurRow = CurRow + 1
Wend
End Sub
使用Instr
,我們將感興趣的列連接起來(在上面的示例代碼中為2-5),以創建單個文本字符串。 然后,我們在該串聯字符串中搜索@
並相應地將其刪除。
它改變
成
或者,您可以創建一個包含以下公式的附加列:
FIND
用於識別在前面的一個單元格中是否存在@
,如果不存在則打印No
否則顯示Yes
。 現在,您可以過濾這些元素( No
),選擇范圍(確保僅選擇可見的單元格),刪除行並刪除過濾器。
您將不得不使用多個循環命令。 首先循環瀏覽要處理的記錄。 這是偽代碼的概述。
atdetector = "dunno_yet"
atdetector = "found"
遍歷每一列后,如果atdetector = "dunno_yet"
,則永遠不會找到“ @”。 刪除行。 重復直到沒有更多行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.