簡體   English   中英

如果在單元格上找到特定值,則刪除范圍內的所有單元格 - VBA

[英]Delete all cells in a range if a specific value is found on a cell - VBA

我需要執行以下操作:

如果在特定列中找到給定條件,則需要從 excel 工作表中的數據范圍中刪除所有值,這是我編寫的代碼:(刪除第一個單元格中具有 FLWE 或 FW 的所有行)

Sub cancellaflw()

 Dim RowFINE, LastRowDati2 As Long
 
 With ThisWorkbook.Sheets("Dati")

RowFINE = 1
LastRowDati2 = ThisWorkbook.Sheets("Dati").Cells(Rows.count, 1).End(xlUp).Row

For RowFINE = 1 To LastRowDati2
If .Cells(RowFINE, 1) Like "FLWE*" Or .Cells(RowFINE, 1) Like "FW*" Then
.Range("A" & RowFINE & ":X" & RowFINE).Delete
RowFINE = RowFINE - 1
End If

Next RowFINE
End With

 
 End Sub

不幸的是,這不起作用,知道為什么嗎?

謝謝,馬特奧

你犯了一個很常見的新手錯誤。 你需要改變

For RowFINE = 1 To LastRowDati2

For RowFINE = LastRowDati2 to 1 step -1

這意味着您現在沒有更改迭代的范圍。 使用您當前的代碼,當您刪除第 3 行時,第 4 行會自動變為第 3 行,但 Rowfine 不知道發生了這種情況。 所以增加到 4 所以你已經有效地跳過了一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM