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

工具/原料
- EXCEL2003
方法/步骤
- 1
第一,新建一个空白EXCEL2003版的文档,然后点击视图——工具栏——窗体,方便使用命令按钮来操作宏。
- 2
第二,拖出命令按钮。在窗体工具栏那里点击选择命令按钮——在EXCEL表格那里画一个方框命令按钮就出来了。
- 3
第三,重命名命令按钮。为了方便操作,命令按钮以它的用途来命名,点击命令按钮的文字框——删除原有的文字——输入:判定重复数据。这样就重新命名好了。
- 4
第四,打开命令按钮代码编辑窗口:右击命令按钮——指定宏——新建——这时就会弹出代码编辑窗口出来。
- 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
第六,编辑完成后关闭退出VBA编辑器——在A列输入数据——输入完成后,点击判定重复数据命令按钮,这时就会在B列显示重复,如果是唯一就会显示唯一。
END
注意事项
- 希望能帮助到你