Vba 在多个工作表中循环时联合出错
我试图从多个其他工作表中的行中删除一个工作表中符合条件的行。我需要循环浏览工作簿中的所有其他工作表,每次找到匹配的内容时,我都会删除第一个工作表中的整行。我收到了关于工会的错误1004。我认为这可能是因为不能在工作表之间使用Union,所以我在每个工作表之后都将其设置为Nothing。我还是会犯同样的错误 代码如下:Vba 在多个工作表中循环时联合出错,vba,excel,Vba,Excel,我试图从多个其他工作表中的行中删除一个工作表中符合条件的行。我需要循环浏览工作簿中的所有其他工作表,每次找到匹配的内容时,我都会删除第一个工作表中的整行。我收到了关于工会的错误1004。我认为这可能是因为不能在工作表之间使用Union,所以我在每个工作表之后都将其设置为Nothing。我还是会犯同样的错误 代码如下: Sub findRemaining() Dim rngToDel As Range Dim fRng As Range 'Fund range Dim wCell As Range
Sub findRemaining()
Dim rngToDel As Range
Dim fRng As Range 'Fund range
Dim wCell As Range 'Working sheet cell
Dim wRng As Range 'Working sheet range
Dim WS_Count As Integer
Dim I As Integer
Set fRng = Worksheets("All").Range("B2:B1495")
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 2 To WS_Count
Set rngToDel = Nothing
Set wRng = Worksheets(I).Range("B2:B200")
For Each wCell In wRng 'Loop through all working cells
' if wCell found in Fund range then delete row
If Not IsError(Application.Match(Trim(wCell.Value), fRng, 0)) Then
If rngToDel Is Nothing Then
Set rngToDel = wCell
Else
Set rngToDel = Union(rngToDel, wCell)
End If
End If
Next wCell
If Not rngToDel Is Nothing Then rngToDel.EntireRow.Delete
Next I
End Sub
问题是我在
wRng
中将range设置为delete作为wCell
,但实际上我想要删除的是frn
中的单元格。通过修复代码的其余部分可以完美地工作。(谢谢chris)在哪一行中出现错误?我对您的codeCouple没有任何问题:1)您可能应该从For
循环搜索中排除工作表All
。2) 您的描述和代码不匹配:是否要从工作表All
或其他工作表中删除找到的匹配项?好的,如果我没有将“All”工作表包括在“For”循环中,如何搜索“All”工作表?此外,我想从工作表“全部”中删除找到的匹配项。不是其他的工作表。