Excel 试图在不弄乱边界的情况下删除重复项

Excel 试图在不弄乱边界的情况下删除重复项,excel,vba,Excel,Vba,我正在尝试删除重复项,而不会弄乱边界。我已经编写了一些代码,但是当我尝试它时,它要么会弄乱边界,要么会清除超出其范围的数据 我只想比较我拥有的图纸列表,而不会超出指定范围或弄乱边界 子DelDupl() 我想比较文档标识符列和工作表列,如果有匹配项,则删除相应的行 我在下面附上了一张照片。我只想比较从第14行开始的数据。当我运行代码时,它还会删除第11行中的“数字文件”文本。 我不确定为什么移除的副本基于C列和D列,但您需要去掉CurrentRegion并定义范围 With Range(Cell

我正在尝试删除重复项,而不会弄乱边界。我已经编写了一些代码,但是当我尝试它时,它要么会弄乱边界,要么会清除超出其范围的数据

我只想比较我拥有的图纸列表,而不会超出指定范围或弄乱边界

子DelDupl()

我想比较文档标识符列和工作表列,如果有匹配项,则删除相应的行

我在下面附上了一张照片。我只想比较从第14行开始的数据。当我运行代码时,它还会删除第11行中的“数字文件”文本。

我不确定为什么移除的副本基于C列和D列,但您需要去掉CurrentRegion并定义范围

With Range(Cells(13, "A"), Cells(rows.Count, "A").end(xlup))
    .resize(.rows.count, 6).RemoveDuplicates Columns:=Array(3, 4), Header:=xlYes
End With

'depending on what is below row 37, the range might have to be defined this way (although the former is preferable)
With Range(Cells(13, "A"), Cells(13, "A").end(xldown))
    .resize(.rows.count, 6).RemoveDuplicates Columns:=Array(3, 4), Header:=xlYes
End With
CurrentRegion是一个“数据岛”,它向所有方向延伸,直到它遇到一个完全空白的列、一个完全空白的行或工作表的范围。位于A13附近的“数字岛”至少延伸至图像中的第8行

通过选择一个单元格并点击Ctrl+A一次,可以测试CurrentRegion

Sub Program1()

Dim wb As Workbook
Dim ws As Worksheet
Dim Rng As Range

Set wb = ThisWorkbook
Set ws = wb.Worksheets("Sheet1")

With Sheets("Sheet1")
  Lastrow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
End With

' for B column and C Column
Set Rng = ws.Range(ws.Cells(14, 2), ws.Cells(Lastrow, 3))
Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo

End Sub
Sub Program1()

Dim wb As Workbook
Dim ws As Worksheet
Dim Rng As Range

Set wb = ThisWorkbook
Set ws = wb.Worksheets("Sheet1")

With Sheets("Sheet1")
  Lastrow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
End With

' for B column and C Column
Set Rng = ws.Range(ws.Cells(14, 2), ws.Cells(Lastrow, 3))
Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo

End Sub