snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Dim dic As Object
Dim i As Long, r As Range
Dim InputRng As Variant, OutRng
Dim a(0 To 999, 0 To 2) As Variant
Set InputRng = Application.InputBox("Select the range of cells", Type:=8)
Set OutRng = Application.InputBox("Out put to cell ", Type:=8)
Set dic = CreateObject("Scripting.Dictionary")
'For i = 1 To UBound(InputRng)
' If InputRng <> "" Then dic(InputRng(i, 1)) = 1
'Next i
For Each r In InputRng
If Not dic.exists(CStr(r.Value)) Then
dic.Add Key:=CStr(r.Value), Item:=CStr(r.Value)
a(i, 0) = i + 1
a(i, 1) = r.Offset(0, -1).Value
a(i, 2) = r.Value
i = i + 1
End If
Next r
OutRng.Resize(i, 3) = a