今天小编与大家分享一下怎么使用VBA代码来分辨判定输入的数据是重复数据,以EXCEL2003为例进行说明 。

工具/原料

  • EXCEL2003

方法/步骤

  1. 1

    第一,新建一个空白EXCEL2003版的文档,然后点击视图——工具栏——窗体,方便使用命令按钮来操作宏。

  2. 2

    第二,拖出命令按钮。在窗体工具栏那里点击选择命令按钮——在EXCEL表格那里画一个方框命令按钮就出来了。

  3. 3

    第三,重命名命令按钮。为了方便操作,命令按钮以它的用途来命名,点击命令按钮的文字框——删除原有的文字——输入:判定重复数据。这样就重新命名好了。

  4. 4

    第四,打开命令按钮代码编辑窗口:右击命令按钮——指定宏——新建——这时就会弹出代码编辑窗口出来。

  5. 5

    第五,在代码编辑窗口那里,可以更sub开头的宏名称,修改容易明白是什么用途的宏,也可以不用修改——然后在中间那里输入如下代码:

     Dim arr, brr()

        Dim I As Integer, j As Integer

        Dim Dict As Object

     

        On Error Resume Next

        Set Dict = CreateObject("scripting.dictionary")

        With ActiveSheet

            arr = Intersect(.UsedRange, .Columns(1))

     

            For I = 1 To UBound(arr)

                If Dict.exists(arr(I, 1)) Then

                    Dict.Item(arr(I, 1)) = Dict.Item(arr(I, 1)) + 1

                Else

                    Dict.Item(arr(I, 1)) = 1

                End If

            Next I

     

            For I = 1 To UBound(arr)

                j = j + 1

                ReDim Preserve brr(1 To j)

                brr(j) = IIf(Dict.Item(arr(I, 1)) = 1, "唯一", "重复")

     

            Next I

            .Columns(2).ClearContents

            .Range("b1").Resize(UBound(brr), 1) = WorksheetFunction.Transpose(brr)

        End With

  6. 6

    第六,编辑完成后关闭退出VBA编辑器——在A列输入数据——输入完成后,点击判定重复数据命令按钮,这时就会在B列显示重复,如果是唯一就会显示唯一。

    END

注意事项

  • 希望能帮助到你
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。