首页 > 解决方案 > 如何删除重复项,输入最后一个空单元格然后删除新的重复项

问题描述

为了给出上下文,我是 VBA 的一个完全新手,不到 2 周前开始尝试最小化这个过程。所以这是一个每日函数,它获取一个新的输入列表,每天从 300 到 5000 不等。我们从另一个软件复制它并导入到excel中。我们要做的第一件事是删除不需要的 B 行。

在此之后,我删除了 A 列中的所有重复项。从这个缩短列表中,我将其复制并粘贴到新工作表“Sheet2”中的最后一个空单元格中。从这里我必须再次从第一列中删除所有重复项

我在写的内容被复制时遇到了一些问题,包括从重复项中删除的所有空行,因此它在表中添加了行。它也不会从整个 Sheet2 中删除第二组重复项。

这是我得到的:

Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveSheet.Range("$A$1:$C$5000").RemoveDuplicates Columns:=1, Header:=xlNo
Selection.End(xlUp).Select

 Application.ScreenUpdating = False
 Dim copySheet As Worksheet
 Dim pasteSheet As Worksheet
 
 Set copySheet = Worksheets("Sheet1")
 Set pasteSheet = Worksheets("Sheet2")
 
 copySheet.Range("A1:B500").Copy
 pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
 Application.CutCopyMode = False
 Application.ScreenUpdating = True
 
Sheets("Sheet2").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveSheet.Range("Table2[#All]"").RemoveDuplicates Columns:=1, Header:=_
x1Yes

End Sub

标签: excelvba

解决方案


推荐阅读