在本文中,我们将创建一个宏以从定义的范围提取唯一值。

本示例的原始数据由国家名称在A7:A21范围内的重复条目组成。

ArrowMain

我们创建了“ FindUniqueValues”宏,以从定义的范围提取唯一值。单击“提交”按钮可以运行此宏。在单击“提交”按钮之前,我们必须指定单元格H9中包含重复数据的范围的地址以及应显示输出的目的地的地址。

ArrowOutput

逻辑解释

“ FindUniqueValues”宏将两个范围对象用作输入参数。

第一个参数定义包含重复数据的范围,第二个参数定义将包含输出的起始单元格的位置。由于必须指定参数,因此无法直接调用该宏,因此我们创建了第二个宏“ MacroRunning”来调用该宏。

“ MacroRunning”宏使用用户输入的参数调用“ FindUniqueValues”宏。

代码说明

SourceRange.AdvancedFilter操作:= xlFilterCopy,_ CopyToRange:= TargetCell,唯一:= True Range对象的AdvancedFilter方法用于根据特定条件从范围过滤或复制数据。要仅复制唯一值,我们必须将AdvancedFilter的Unique参数设置为True。

请遵循以下代码

Option Explicit

Sub FindUniqueValues(SourceRange As Range, TargetCell As Range)

'Using advance filter for extacting unique items in the source range

SourceRange.AdvancedFilter Action:=xlFilterCopy, _

CopyToRange:=TargetCell, Unique:=True



End Sub

Sub MacroRunning()

'Calling FindUniqueValues macro

Call FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value))

End Sub

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们希望收到您的来信,请让我们知道如何改善我们的工作并为您做得更好。写信给我们[email protected]