删除重复项功能并不总是在Mac上的Excel中工作

时间:2016-11-14 17:15:04

标签: excel macos vba excel-vba

我在Mac上使用Excel 2016(v10.11),目前正在为我公司的会计工作。它包含两张纸:在第一张纸上,我列出了一些费用并给了他们一个项目。这些费用将被复制并粘贴在第二张纸上。项目被复制到受保护的列中,我需要删除所有重复项。我想自动化这个过程。如果你点击第一页上的按钮,游戏的其余部分将自行完成。 为此,我写了一个像这样的VBA函数:

Option Explicit
Sub Copy()
ThisWorkbook.Worksheets("FirstTable").Range("R21:R84").Copy
ThisWorkbook.Worksheets("SecondTable").Cells(3, 26).PasteSpecial xlPasteValues
ThisWorkbook.Worksheets("SecondTable").Activate
ThisWorkbook.Worksheets("SecondTable").Range("Z:Z").RemoveDuplicates Columns:=1, Header:=xlYes 
ThisWorkbook.Worksheets("FirstTable").Activate
ActiveWorkbook.Save
Call Print
End Sub

问题是RemoveDuplicates方法在mac上不起作用!我在windows上测试过,一切运行良好。有谁知道这可能是什么原因?

如果我自己标记列并单击数据选项卡中的删除重复项,则可以使用,但不能使用此宏。

1 个答案:

答案 0 :(得分:0)

我找到了它不起作用的原因: 在Mac上,它会弹出一个对话框,您需要确认该对话框。如果未按确认按钮,则不会删除重复项。在我调用RemoveDuplicates函数后,我通过调用ThisWorkbook.Worksheets(“FirstTable”)切换到FirstTable。激活。对话框消失,重复项不会被删除。 在Windows上没有对话框,这就是为什么它可以工作。