回答
嘗試是這樣的:
Public Sub DeleteRowsIfFound()
Dim originCell As Range, numberOfRowsToDelete As Integer
Dim blankCellLimit As Integer, numberOfBlankCells As Integer
Dim label As String, index As Long, n As Integer
Set originCell = Me.Range("A1")
blankCellLimit = 5
numberOfRowsToDelete = 2
index = 0
label = "test"
Do
If originCell.Offset(index, 0).Value = label Then
For n = 0 To numberOfRowsToDelete - 1
originCell.Offset(index + 1, 0).EntireRow.Delete
Next
ElseIf originCell.Offset(index, 0).Value = "" Then
numberOfBlankCells = numberOfBlankCells + 1
End If
index = index + 1
Loop While numberOfBlankCells < blankCellLimit
End Sub
這開始向下搜索列A開始在單元格A1,如果它發現的小區,其值爲「測試」,然後它會刪除它後面接下來的兩行。
這是完美的!由於Cor_Blimey對此進行了評論,我只是在研究Offset方法,但您已經徹底清除了所有內容!非常感謝! – JamieM
很高興它對你有用。只是一個警告,如果它在另一個「測試」標記的兩行內,它將刪除列A中標有「test」的行。 – haddosm
是的,這很好。只是一個簡單的問題 - 我修改了代碼,只刪除了下一行,我需要做的另一個過程,由於某種原因它現在說「Excel無法用可用資源完成此任務...」,後面跟着「1004」刪除方法的範圍類失敗「。知道任何原因爲什麼這將是?它突出顯示 - originCell.Offset(index + 1,0).EntireRow.Delete作爲問題 – JamieM
- 1. 如果在另一行發現了id,MySQL刪除行
- 2. 實現一個搜索,如果在SELECT語句
- 3. VBA - 搜索並刪除重複項
- 4. DataTables:刪除一行並添加另一行使刪除的行重新出現
- 5. 從select語句中刪除一列
- 6. 在一條語句中刪除多行
- 7. VBA excel代碼刪除行,如果發現N/A
- 8. 搜索並從結果中刪除?
- 9. 如何刪除只有一行,如果發現幾個?
- 10. 如果列爲空,則刪除一行
- 11. 在一列中搜索重複行,如何在另一列中重複排除?
- 12. 如何使用另一列中的值搜索子字符串,然後刪除行,Excel VBA
- 13. 根據另一列的內容排除SQL搜索的結果
- 14. VBA代碼來搜索一個列並對其進行排序
- 15. Yii如何檢索一行,在另一個表中刪除並插入新行
- 16. 搜索並從另一個字符串列表中刪除字符串
- 17. bash刪除目錄中的文件如果在另一個文件中發現搜索字符串
- 18. Vim搜索的模式,如果沒有發生刪除行
- 19. Vim搜索模式,如果發生刪除到行尾
- 20. 使用Excel VBA搜索整個一行位於另一小區
- 21. 如何搜索另一個表中的另一列的每一行的表列
- 22. Excel中搜索值,如果在另一行發現的第一行中的值替換該行
- 23. 從鏈接列表中搜索並刪除一個節點
- 24. 更新行並刪除另一個
- 25. 使用VBA刪除一行基於一列中的時間和另一個值
- 26. Excel VBA - 搜索某一列#N/A,將整行復制到新工作表並刪除行
- 27. MySQL查詢搜索以「如果」語句
- 28. VBA將行復制到另一個表,如果它匹配搜索
- 29. SQL UPDATE語句根據另一個現有行更新列
- 30. 用vba刪除一行excel vba
告訴我們你到目前爲止嘗試了些什麼。 –
您可能正在尋找找到的範圍對象的偏移方法。例如。 'ws.Range(foundRange.Offset(1,0),foundRange.Offset(2,0))。EntireRow.Delete' –