- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
回復 1# av8d
請測試看看,謝謝
Sub test()
Dim Arr, xD, Brr(1 To 1000, 1 To 2), i&, n%, sh%
Set xD = CreateObject("Scripting.Dictionary")
For sh = 2 To Sheets.Count
With Sheets(sh)
Arr = .[a1].CurrentRegion
For i = 2 To UBound(Arr)
If xD.Exists(Arr(i, 1)) Then
If Not xD.Exists(Arr(i, 1) & "|" & Sheets(sh).Name) Then
n = n + 1: Brr(n, 1) = Arr(i, 1)
Brr(n, 2) = Sheets(sh).Name
End If
xD(Arr(i, 1) & "|" & Sheets(sh).Name) = ""
Else
xD(Arr(i, 1)) = ""
End If
Next
End With
xD.RemoveAll
Next
If n > 0 Then
With Sheets("總表")
.[a1].CurrentRegion.Offset(1) = ""
.Range("a2").Resize(n, 2) = Brr
End With
End If
End Sub |
|