file đâu có khác gì file trướcMình Uolad file rồi nhờ Bạn giúp với !
Mã:
Public Sub GPE()
Dim Sh As Worksheet
Dim dArr, Arr, key As Variant
Dim i, k, lRow As Long
Dim ShName, Col As String
On Error Resume Next
Col = InputBox("Nhap Ky Tu Cot muon tim, nhu A, B, C ... ")
Trolai:
i = Range(Col & "1").Row
If Err.Number Then
Err.Clear
Col = InputBox("Nhap sai, Nhap lai Ky Tu Cot muon tim, nhu A, B, C ... ")
GoTo Trolai
End If
Col = UCase(Col)
With CreateObject("Scripting.Dictionary")
For Each Sh In Worksheets
ShName = Sh.Name
If ShName <> "Sheet1" Then
lRow = Sh.Range(Col & Rows.Count).End(xlUp).Row
If lRow = 1 Then lRow = 2
dArr = Sh.Range(Col & 1).Resize(lRow).Value
For i = 1 To UBound(dArr)
key = dArr(i, 1)
If key <> "" Then
If Not .exists(key) Then
.Add key, Array(ShName, Col & i)
Else
If IsArray(.Item(key)) Then .Item(key) = 1
End If
End If
Next i
End If
Next Sh
ReDim Arr(1 To .Count, 1 To 3)
For i = 0 To .Count - 1
dArr = .items()(i)
If IsArray(dArr) Then
k = k + 1
Arr(k, 1) = dArr(0): Arr(k, 2) = dArr(1): Arr(k, 3) = .keys()(i)
End If
Next i
End With
With Sheet1
.Range("A2", .Range("C" & .Range("A2").End(xlDown).Row)).ClearContents
.Range("A2").Resize(k, 3) = Arr
End With
End Sub