我在工作表中有数据,我想保留特定的部分,并根据特定的文本搜索删除其余不需要的数据。特定的文本是动态的。
因此,基于使用偏移量的Activecell,我删除了特定文本上方的部分,也希望删除下方的部分。 (举例来说,第56-61行仅是我需要的数据,而不是所有工作表中的相同行)
当前代码在一个工作表上运行,并在第二个工作表上停止
activity
我想对所有工作表运行此代码
答案 0 :(得分:0)
范围选择出现问题。
还应确保ActiveCell
对应于您要搜索的正确单元格,因为每张纸上的activecell可能不同。
Sub Test999()
Dim ws As Worksheet, f As Range
For Each ws In Worksheets
'Debug.Print ws.Name
Set f = ws.Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not f Is Nothing Then
ws.Activate
ws.Range(f.Offset(-2, 0), ws.Range("A2")).Select
ws.Range(f.Offset(-2, 0), ws.Range("A2")).EntireRow.Delete
f.Select
ws.Range(f, Selection.End(xlDown)).Select
Selection.End(xlDown).Select
ws.Range(ActiveCell.Offset(3, 0), ws.Range("A500")).EntireRow.Delete
End If
Next ws
End Sub