Excel 用vba 将多个sheet按照一列数据进行剔重!

注意一下,数据量比较大,所以不要建议我把每个sheet数据都粘到一个sheet里面选择剔重,如果可以我早都弄好了

Option Explicit

Sub 所有表去重()
Dim st As Worksheet, arr, i&, rlt$(1 To 1000000, 1 To 1), n&, j&, isnew
'统计结果到数组rlt
For Each st In Sheets
If st.UsedRange.Rows.Count > 1 Then
arr = st.UsedRange
For i = 1 To UBound(arr)
arr(i, 1) = Trim(arr(i, 1))
If arr(i, 1) <> "" Then
isnew = 1
For j = 1 To n
If rlt(j, 1) = arr(i, 1) Then
isnew = 0
Exit For
End If
Next j
If isnew Then
n = n + 1
rlt(n, 1) = arr(i, 1)
End If
End If
Next i
End If
Next st
'结果存如新表格
With Workbooks.Add
With .Sheets(1).Cells(1, 1).Resize(n, 1)
.NumberFormat = "@"
.Value = rlt
.Select
End With
End With
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-02
有没有文件给我,可以用公式把数据提取到一列进行去重操作
第2个回答  2021-11-02
方法/步骤 如下图,假设,在A列中存在这样的数据列,请仔细观察数据,是不是存在重复值呢?要想删除重复的值,首先