Siyahıda eyni ad, kod və ya digər məlumatların mövcudluğu ilə çoxlarımız
rastlaşırıq və bizə lazım gəlir ki, bu kodlardan hərəsindən bir dəfə
olmaqla siyahı tərtib edək. Bunun üçün aşağıdakı VBA kodundan istifadə
etmək olar.
Code
Sub Dublikatsiz() Application.ScreenUpdating = False Dim a As Long Dim b As Long Range("B:B").Select Selection.ClearContents lastrow = Range("A10000").End(xlUp).Row b = 4 For a = 4 To lastrow Range("B:B").Select If Selection.Find(Cells(a, 1).Value) Is Nothing Then Cells(b, 2).Value = Cells(a, 1).Value b = b + 1 End If Next a Range("A2").Select End Sub
Burada "Application.ScreenUpdating = False"
əməliyyat prosesi müddətinin (görüləcək işin həcmini) təqribən 20
dəfəyədək azaldılmasına və nəticənin tez bir zamanda əldə edilməsinə
xidmət edir. Əgər sizin siyahı böyükdürsə onda buradakı "False" sözünü
"True" ilə əvəz edərək prosesi addım-addım izləyərək nəticəyə sahib ola
biləcəksiniz. Beləliklə siz bir qədər gözləməli olursunuz. "A" sütununda axırıncı aktiv xananı "lastrow = Range("A10000").End(xlUp).Row" yazılış müəyyən edir. (Bu bizə diapozonu müəyyən etmək üçün lazım gəlir) "If Selection.Find(Cells(a, 1).Value) Is Nothing Then"
bu "A" sütunundakı hər bir sətirdə olan məlumatları seçilmiş olan "B"
sütununda axtarır əgər tapmasa həmən axtardığı məlumatı ardıcıl olaraq
"B4"-dən başlayaraq yazır və beləliklə Dublikatsız (hərəsi bir dəfə
yazılan) siyahı əldə etmiş oluruq.