col B中的文本“endofdata”标识单个工作表上多个范围的边界。我正试图逐步浏览每个范围并删除每个范围内的E和F列中的重复值。我还调用一个例程来删除删除重复项时生成的空行。执行.removeduplicates时,始终会删除带有“endofdata”的底行。
我尝试过Do循环,但它失败了。 (它适用于第一个范围但未能进入下一个范围)请建议如何使这项工作。我应该使用什么样的循环?我该如何搜索“endofdata”字符串?非常感谢你提前。
NULL
答案 0 :(得分:1)
我刚测试了这个循环并且它有效。
Sub RemoveDupsinRange()
Dim LastRow As Long, i As Long, rStart As Range, rEnd As Range
Call setSheets
LastRow = wsQC.Cells(wsQC.Rows.Count, "A").End(xlUp).Row
Debug.Print LastRow
Set rEnd = wsQC.Cells(LastRow, 2)
For i = LastRow To 2 Step -1
Do
i = i - 1
If wsQC.Cells(i, 2).Value = "endofdata" Then
Set rStart = wsQC.Cells(i, 2)
End If
Loop Until wsQC.Cells(i, 2).Value = "endofdata"
wsQC.Range(rStart.Offset(, -1), rEnd.Offset(, 4)).RemoveDuplicates Columns:=Array(5, 6), Header:=xlNo
Set rEnd = rStart
Call DeleteBlanks
Next i
End Sub