excel - 删除 Excel 工作表中重复行的宏不起作用
问题描述
我有一个宏,它是更大代码的一部分。一旦将所有数据复制到其中,它旨在从“确认层”表中删除重复项。不幸的是,整个代码的这一部分不起作用。谁能告诉我是什么阻止了它或如何解决它?
工作表有 A - X 列,我需要宏来删除任何重复的行
当我手动完成此重复删除时,我唯一需要匹配的列是 A、B 和 H,因为当这 3 个匹配时,该行是重复的。
这是代码
Sub FinishUP()
Application.DisplayAlerts = False
'Worksheets("Criteria").Delete
Application.DisplayAlerts = True
Worksheets("Confirmed Lays").Activate
Range("a:x").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24), Header:=xlYes
End Sub
非常感谢
解决方案
无需激活工作表(除非是故意的)
并将 columns: array 限制为您需要它们匹配重复项的列号
编辑:为了只使用数据范围,找到最后一行
代码:
Public Sub FinishUP()
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim lastRow As Long
' Assuming the target sheet is in the same workbook that's calling the macro
Set targetSheet = ThisWorkbook.Worksheets("Confirmed Lays")
' Find last row
lastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row
' Define the range to remove the duplicates from
Set targetRange = targetSheet.Range("A1:X" & lastRow)
' Turn off alerts if you're going to do something that requires it
Application.DisplayAlerts = False
targetRange.RemoveDuplicates Columns:=Array(1, 2, 8), Header:=xlYes
' DoSomething else?
Application.DisplayAlerts = True
End Sub
试试看,让我知道它是否有效。
推荐阅读
- javascript - 在javascript中检测特定的多个击键
- xtermjs - 将数据写入终端时如何处理 xterm.js 中的新行?
- xbee - Xbee 沟通不畅
- python - tensorflow-gpu 不使用 anaconda 安装
- python - 在 asyncio.wait 中捕获异常
- material-design - MatBlazor 和 Material.Blazor 有什么区别?
- javascript - 将CKeditor添加到javascript文件
- php - 使用 mod_rpaf / mod_remoteip 修复远程 IP 和 REMOTE_ADDR 不起作用
- sql - Laravel Guru - 如何在 Laravel 中执行复杂的 SQL 案例语句
- javascript - TRIGGER_PAYLOAD_TOO_LARGE:此请求将导致函数负载超过允许的最大大小