发现在Excel中使用VBA唯一值
在本文中,我们将创建自定义函数以在定义的范围内查找唯一值。
此示例的原始数据由国家名称在A8:A21范围内的重复条目组成。
逻辑解释
我们创建了一个自定义函数“ UniqueItem”,以从范围中提取唯一值。该函数将两个参数作为输入。
第一个参数是由重复数据组成的范围,第二个参数定义唯一集合中唯一值的索引号。
此函数根据索引号返回范围内的唯一值。第二个参数是可选参数,如果未指定第二个参数,则函数返回定义范围内唯一值的数量。
如果为第二个参数定义的值大于该范围内唯一值的数量,则该函数将返回最后一个唯一值。
代码说明
输入错误范围内每个CellValue的错误继续恢复CUnique.Add CellValue.Value,CStr(CellValue.Value)
[_GoBack] # Next On Error GoTo 0上面的代码用于创建集合对象,该对象将包含定义范围内的唯一值。 “错误时”语句用于处理错误,因为当代码尝试将重复值放入集合中时,集合将生成错误。
请遵循以下代码
Option Explicit Function UniqueItem(InputRange As Range, Optional ItemNo As Integer = 0) As Variant Dim CellValue As Range Dim CUnique As New Collection Dim UCount As Integer On Error Resume Next 'Adding unique items to collection from defined range For Each CellValue In InputRange CUnique.Add CellValue.Value, CStr(CellValue.Value) Next On Error GoTo 0 'Getting count of unique item in the collection UCount = CUnique.Count If ItemNo = 0 Then 'Returning count of unique item UniqueItem = UCount ElseIf ItemNo <= UCount Then 'Returning unique value based on item number UniqueItem = CUnique(ItemNo) Else 'Returning last unique value UniqueItem = CUnique(UCount) End If End Function
如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。
我们很希望收到您的来信,请让我们知道我们如何才能改善我们的工作并使您的工作更好。写信给我们[email protected]