首页 > 解决方案 > 如何遍历一列并只挑选出唯一的整数?

问题描述

我是 VBA 的新手,我正在尝试计算此列中唯一数字的数量。我想使用某种列表来存储看到的数字,然后只添加尚未看到的数字,然后获取该列表的长度,但 VBA 似乎只有确定长度的数组。有什么见解吗?

列如下所示:
列看起来像这样

标签: excelvba

解决方案


非 VBA 简单选项:

{=SUM(1/(COUNTIF(A1:A17,A1:A17)))}

在此处输入图像描述

CTRL要使用+ SHIFT+验证的数组公式ENTER

VBA 简单选项:

Option Explicit

Sub count_unique()

    Dim D1 As Object: Set D1 = CreateObject("scripting.dictionary")
    Dim R0 As Range
    Dim R1 As Range: Set R1 = Range("A1:A17") 'adapt to fit your range

    For Each R0 In R1: D1(R0.Value) = R0.Value: Next R0
    MsgBox D1.Count

End Sub

在此处输入图像描述


推荐阅读