VBA怎么判定數據重復錄入

今天小編與大師分享一下怎么利用VBA代碼來分辯鑒定輸入的數據是反復數據 , 以EXCEL2003為例進行申明 。

VBA怎么判定數據重復錄入



需要這些哦
EXCEL2003
方式/
1第一 , 新建一個空白EXCEL2003版的文檔 , 然后點擊視圖——東西欄——窗體 , 便利利用號令按鈕來操作宏 。

VBA怎么判定數據重復錄入



2第二 , 拖出號令按鈕 。 在窗體東西欄那邊點擊選擇號令按鈕——在EXCEL表格那邊畫一個方框號令按鈕就出來了 。

VBA怎么判定數據重復錄入



3第三 , 重定名號令按鈕 。 為了便利操作 , 號令按鈕以它的用途來定名 , 點擊號令按鈕的文字框——刪除原有的文字——輸入:鑒定反復數據 。 這樣就從頭定名好了 。

VBA怎么判定數據重復錄入



4第四 , 打開號令按鈕代碼編纂窗口:右擊號令按鈕——指定宏——新建——這時就會彈出代碼編纂窗口出來 。

VBA怎么判定數據重復錄入



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)
【VBA怎么判定數據重復錄入】            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
             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)
     With

VBA怎么判定數據重復錄入



6第六 , 編纂完當作后封閉退出VBA編纂器——在A列輸入數據——輸入完當作后 , 點擊鑒定反復數據號令按鈕 , 這時就會在B列顯示反復 , 若是是獨一就會顯示獨一 。

猜你喜歡