簡體   English   中英

遍歷多個工作表時在Union上出錯

[英]Error on Union when looping through multiple worksheets

我正在嘗試從多個其他工作表中獲取的行中刪除匹配條件的一個表中的行。 我需要循環瀏覽工作簿中的所有其他工作表,並且每次找到匹配的內容時,都會刪除第一張工作表中的整個行。 我在聯盟上收到錯誤1004。 我認為可能是由於您無法跨工作表使用Union所致,因此我將其設置為每張工作表之后為Nothing。 我仍然遇到相同的錯誤。

這是代碼:

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中將范圍設置為wCell刪除,但實際上我要刪除的是fRng中的單元fRng 通過修復,其余代碼可以完美運行。 (感謝克里斯)

暫無
暫無

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

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