【问题标题】:What VBA code for removing duplicates in a dynamic range用于删除动态范围内重复项的 VBA 代码
【发布时间】:2022-06-14 19:10:56
【问题描述】:

我有一个包含 7 个不同工作表的 Excel 电子表格,每个工作表都有不同大小的数据范围。

我想要一个可以为所有工作表运行以删除重复行的宏。

我尝试了互联网上的各种代码,但由于某种原因,我总是最终得到错误:运行时错误“1004”:应用程序定义的或对象定义的错误

如果您想了解一些背景信息: 我有一个 Excel 工作簿,其中包含 7 个单独的工作表,每个工作表每天一次通过 SQL 查询从我们的 ERP 系统中提取数据。然后,我使用 Power Automate Desktop 自动将所有信息从 excel 工作簿复制到另一个 excel 工作簿,作为值,以便我可以共享信息,而其他人无法编辑查询的属性。

但是,原始 Excel 工作簿中的数据包含重复项,需要删除,因此我需要 Power Automate 可以运行的宏以从第二个工作簿中的每个工作表中删除这些重复项,从而导致我遇到上述问题.

我希望这一切都有意义,在此先感谢

编辑

对不起,关于代码,我尝试了很多不同的组合,但记不住了,但我尝试了以下方法:

Sub sbRemoveDuplicatesSpecificWithNoHeaders()

Dim LastRow As Long

LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

Range("A1:D" & LastRow).RemoveDuplicates Columns:=Array(3), Header:= xlYes

End Sub

这些是我也尝试过代码的其他几个网站:

Remove Duplicates in dynamic row and column ranges

https://www.automateexcel.com/vba/removing-duplicate-values/

【问题讨论】:

  • 请向我们展示您尝试过的代码——如果我们看不到它,就很难用它来诊断问题...
  • 我希望现在可以了吗?

标签: excel vba


【解决方案1】:

当您从 ERP 下载表格时,我假设列保持不变,而行数不同。

使用 PowerQuery 非常简单: https://support.microsoft.com/en-us/office/keep-or-remove-duplicate-rows-power-query-d9cffc69-dc5d-4d94-8b66-72779688874d

您可能希望使用 Power Automate 下载并保存到 Source.xlsx 文件,并使用包含 PowerQuery 代码的 Clean.xlsx 打开 Source.xlsx 并在每次打开或刷新时删除重复项。

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 2018-12-11
    • 2021-07-22
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多