Mündəricat
Visual Basic Application (VBA) -də istifadə etdiyimiz ən vacib və geniş istifadə olunan funksiyalardan biri Find funksiyasıdır. Bu yazıda mən sizə Excel-in FIND funksiyasından uyğun nümunələr və təsvirlərlə necə istifadə edə biləcəyinizi göstərəcəyəm.
Təcrübə İş Kitabını endirin
Excel.xlsm-də VBA-da Funksiyanı Tapın
VBA-da FIND funksiyasından istifadə etmək üçün 6 sürətli nümunə
Burada Martin Kitab Dükanı adlı kitab mağazasının bəzi kitablarının Kitab Adları, Müəlliflər və Qiymətləri ilə data dəsti əldə etdi.
Bu gün bizim məqsədimiz bu məlumat dəstindən VBA -nin Tap funksiyası -nin müxtəlif növ istifadələrini görməkdir.
1. Parametrsiz VBA-da Tap funksiyasından istifadə edin
Siz VBA -nin Tap funksiyasından heç bir parametr olmadan istifadə edə bilərsiniz.
Sonra o xanalar diapazonunda xüsusi dəyəri axtaracaq və tapdığı ilk uyğunluğu qaytaracaq.
Gəlin adı axtaraq “P. B. Shelly” sütununda Müəllif ( C4:C13 ).
Tap funksiyası olan sətir:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Tam VBA kodu olacaq:
⧭ VBA Kodu:
5619
⧭ Nəticə:
O, yaradır Makro Tap adlanır. Makronu işə salsanız, o $C$6 , P adlı ilk xana ünvanını qaytaracaq. B. Shelly .
Ətraflı oxuyun: VBA ilə diapazonda tapınExcel: Dəqiq və Qismən Uyğunluqlar daxil olmaqla
2. VBA-da Tap funksiyasını After parametri ilə tətbiq edin (Xüsusi hüceyrədən axtarışa başlamaq üçün)
Siz After parametrindən Tap funksiyası ilə istifadə edə bilərsiniz. VBA -də. Sonra o, diapazondakı xananın altındakı dəyəri axtarmağa başlayacaq.
Məsələn, adını axtarmağa başlayaq “P. B. Shelly” aşağı xanadan C6 .
Kod sətri:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Və tam VBA kodu olacaq:
⧭ VBA Kodu:
3385
⧭ Nəticə:
O, $C$13 qaytaracaq çünki o, C6 xanasının altından axtarışa başlayır, bu C7 xanasındandır. Beləliklə, P alır. B. İlk olaraq C13 xanasında Shelly .
Ətraflı oxuyun: Sətri necə tapmaq olar Excel-də VBA-dan istifadə edən hüceyrə
3. VBA-da Tap Funksiyasını Sonra Parametrinin ətrafına bükərək işlədin (Dairəvi bir şəkildə dəyəri axtarmaq üçün)
After parametri Tap funksiyası ilə dəyəri dairəvi şəkildə axtarır
Yəni o, diapazondakı xananın altından axtarışa başlayır, diapazonda axtarışı bitirir və sonra yenidən diapazonun yuxarısından başlayır.
Məsələn, After parametrindən istifadə edərək C8 xanasının altından “John Keats” adını axtarmağa başlayaq.
Xətti kod olacaq:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Vətam VBA kodu olacaq:
⧭ VBA Kodu:
4426
⧭ Nəticə:
O, $C$7 qaytaracaq, çünki o, C8 xanasının altından axtarışa başlayır. C9 xanası.
C13 xanasına qədər heç nə tapmır, ona görə də yenidən C4 xanasından başlayır və xanada birini tapır C7 .
Oxşar oxunuşlar:
- VBA ilə simi necə tapmaq olar Excel-də (8 Nümunə)
- Excel-də VBA-dan istifadə edərək Dəqiq Uyğunluğu tapın (5 üsul)
- VBA-dan istifadə edərək necə tapmaq və dəyişdirmək olar (11) Yollar)
4. LookAt Parametri ilə VBA-da Tap funksiyasından istifadə edin (Dəqiq və ya Qismən Uyğunluq üçün)
Siz VBA -də Tap funksiyasından istifadə edə bilərsiniz>LookAt parametri.
Dəqiq uyğunluq üçün LookAt = xlWhole və Qismən üçün LookAt=xlPart istifadə edin. uyğun gəlir.
Məsələn, Kitabın Adı sütununda “Ode” adlı kitabın olub-olmadığını öyrənməyə çalışaq ( B4:B13 ).
Əgər kod sətirində xlWhole istifadə etsək:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Çıxış heç bir dəqiq uyğunluq tapmadığı üçün xəta göstərəcək.
Ancaq istifadə etsəniz:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Sonra $B$9 qaytaracaq, çünki xanasında “Ode” adlı kitab var. B7 , Ode to the Nightingale.
Beləliklə, qismən uyğunluğu üçün tam kodbudur:
⧭ VBA Kodu:
2601
5. Axtarış İstiqaməti Parametri ilə VBA-da Tap funksiyasını idarə edin (Axtarışın İstiqamətini Müəyyən etmək üçün)
Siz həmçinin VBA -də Tap funksiyasından istifadə edə bilərsiniz. SearchDirection parametri.
Yuxarıdan Aşağıya axtarış etmək üçün SearchDirection = xlNext istifadə edin.
Və SearchDirection = xlPrevious Aşağıdan Yuxarıya axtarış üçün.
Məsələn, Müəllif sütununda Müəllif Elif Şafak -ni tapmağa çalışaq. ( C4:C13 ).
Əgər kod sətirində xlNext istifadə etsək:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Sonra $C$5 qaytaracaq.
Ancaq istifadə etsəniz:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Sonra o, $C$11 qaytaracaq.
Beləliklə, aşağıdan yuxarıya doğru axtarış üçün tam kod dir:
⧭ VBA Kodu:
8943
6. MatchCase Parametri ilə VBA-da Funksiyanı Tapın (Rütbələrə Həssas və ya Qeyri-Həssas Uyğunluq üçün)
Nəhayət, siz MatchCase parametri ilə Tap funksiyasını istifadə edə bilərsiniz.
həssas match , üçün MatchCase = True və üçün MatchCase=False istifadə edin böyük hərflərə həssas uyğunluq.
Məsələn, Kitabın Adı sütununda “ana” kitabını tapmağa çalışaq ( B4:B13 ).
Əgər kod sətirində True istifadə etsək:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Çıxış səhv göstərəcək, çünki o qazanacaq' heç birini tapmauyğun gəlir.
Ancaq istifadə etsəniz:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Sonra o, qayıdacaq $ B$9 çünki B8 xanasında “Ana” adlı kitab var.
Beləliklə, tam kod hərfsiz uyğunluğu:
⧭ VBA Kodu:
9724
Nəticə
Bu üsullardan istifadə edərək Visual Basic Tətbiqində Tap funksiyasından istifadə edə bilərsiniz. Hər hansı bir sualınız var? Bizdən soruşmaqdan çekinmeyin.