Excel-də VBA ilə sətirləri necə tapmaq olar (8 Nümunə)

  • Bunu Paylaş
Hugh West

VBA tətbiqi Excel-də istənilən əməliyyatı yerinə yetirmək üçün ən effektiv, ən sürətli və ən təhlükəsiz üsuldur. Bu yazıda biz sizə Excel-də VBA istifadə edərək başqa verilmiş sətirdə müəyyən sətirləri necə tapacağınızı göstərəcəyik.

Təcrübə Şablonunu Yükləyin

Siz pulsuz təcrübə Excel şablonunu buradan endirə bilərsiniz.

String.xlsm-də tapmaq üçün VBA

InStr Funksiyası

Microsoft Excel-də verilmiş sətirdə xüsusi sətirlərin mövqeyini tapmaq üçün InStr Funksiyası adlı daxili funksiya var.

Ümumi Sintaksis:

InStr([start], string1, string2, [compare])

Burada,

Arqumentlər Tələb olunan/ Könüllü Tərif
start Könüllü Axtarışın başlanğıc mövqeyi.
  • Defolt olaraq, InStr funksiyası simvol mövqeyini başlanğıc mövqeyindən deyil, 1-dən saymaqla hesablayır. Beləliklə, istəyirsinizsə, bunu boş buraxa bilərsiniz.
string1 Tələb olunur Axtarılacaq sətir, Əsas sətir.
string2 Tələb olunur Əsas sətirdə axtarılacaq sətir .
müqayisə et Könüllü InStr funksiyası defolt olaraq hərf hərfinə həssasdır. Amma böyük hərflərə həssas olmayan InStr işlətmək istəyirsinizsə, o zaman müəyyən müqayisə aparmaq üçün arqumenti buraya ötürə bilərsiniz. Bu arqument aşağıdakı kimi ola bilərdəyərlər,
  • vbBinaryCompare -> ikili müqayisəni yerinə yetirir, dəyəri qaytarır 0
  • vbTextCompare -> mətn müqayisəsini yerinə yetirir, dəyəri qaytarır 1
  • vbDatabaseCompare -> verilənlər bazası müqayisəsini həyata keçirir, 2 dəyərini qaytarır

Defolt olaraq, InStr müqayisə arqumenti kimi vbBinaryCompare alır.

VBA istifadə edərək verilmiş sətirdə xüsusi sətir mövqeyini tapmaq üçün 8 asan nümunə

Verilmiş sətirdə müəyyən sətirlərin mövqelərini əldə etmək üçün bəzi sadə nümunələrə baxaq. VBA .

1. Sətirdə Mətnin Mövqeyini Tapmaq üçün VBA

Aşağıda tapmaq üçün InStr nümunəsi verilmişdir mətnin sətirdəki mövqeyi.

  • Klaviaturanızda Alt + F11 düymələrini basın və ya nişana keçin Developer -> Visual Basic Redaktoru açmaq üçün Visual Basic .

  • Açılır kod pəncərəsində, menyu çubuğundan , klikləyin Daxil et -> Modul .

  • İndi kod pəncərəsində VBA Alt daxilində sadə InStr proqramı yazın. Prosedur (aşağıya bax).
2505

Kodunuz indi işə salınmağa hazırdır.

  • F5 düyməsini basın. klaviaturanızda və ya menyu çubuğundan Çalış -> Sub/UserForm -u işə salın. Siz həmçinin makronu işə salmaq üçün alt menyu çubuğundakı kiçik Oynatma işarəsinə klikləyə bilərsiniz.

Siz görəcəksiniz ki, pop-up mesaj qutusu sizə nömrə verəcəkyoxlamaq istədiyiniz mətnin mövqeyini elan edin.

İzahat:

Əsas sətirimiz, “ Xoşbəxtlik is a seçim ” 21 hərfli cümlədir (boşluqlarla) və biz həmin sətirdə “ seçim ” mətninin yerini tapmaq istədik. “ seçim ” mətni əsas sətirin 16-cı mövqeyindən başladı, ona görə də mesaj qutusunda çıxışımız olaraq 16 nömrəsini aldıq.

2. Sətirdə Xüsusi Mövqedən Mətn Tapmaq üçün VBA

İndi gəlin müəyyən bir nömrədən mövqe əldə etmək istəsək nə olacağını öyrənək.

  • Eyni şəkildə əvvəl, Developer nişanından Visual Basic Redaktoru açın və kod pəncərəsində Daxil edin Modulu .
  • İçində kod pəncərəsində yuxarıda göstərilən sadə InStr proqramını yazın və mətninizi saymaq istədiyiniz mövqeyə uyğun olaraq başlanğıc arqumentindəki dəyəri keçirin.
2413

  • Sonra kodu Çalışdırın .

Siz görəcəksiniz ki, pop-up mesaj qutusu yoxlamaq istədiyiniz müəyyən mövqedən başlayaraq mətnin mövqeyini bildirən rəqəm verin.

İzahat:

Artıq bildiyimiz kimi (1-ci mərhələ müzakirəsindən) “ seçim ” mətni 16 mövqeyindən başlayıb, ona görə də iki “ əlavə etdik seçim ” əsas sətirdə və bizim olaraq 17 təyin edinİlk “ seçimi ” keçmək üçün 1-ci parametr. Beləliklə, biz yuxarıdakı makronu Çalışdırırıq və o, bizə 27 mövqe nömrəsini göstərdi ki, bu da tam olaraq ikinci seçim ”nin mövqe nömrəsidir. verilmiş sətirdə.

3. Sətirdə hərflərə həssas olmayan InStr funksiyası ilə mətni tapmaq üçün VBA

InStr funksiyasının tətbiqindən siz artıq bilirsiniz ki, defolt olaraq InStr funksiyası hərflərə həssasdır. Gəlin bunu bir nümunə ilə öyrənək.

Aşağıdakı VBA koduna baxın, burada “ Seçim sözünün yerini tapmaq istəyirdik. “ böyük “C” ilə “ Xoşbəxtlik seçimdir ” sətirində seçim kiçik “c” ilə yazılır .

  • Kodu işlədin və çıxışımız olaraq 0 tapın.

Bu ona görədir ki, InStr funksiyası böyük “C” kiçik “c” ilə fərqli davranır. Beləliklə, o, sətirdə “ Seçim ” sözünü axtardı və heç bir uyğunluq əldə etmədi, ona görə də 0 qaytardı.

  • InStr funksiyasını hərfsiz etmək üçün müqayisə arqumentini vbTextCompare olaraq təyin edin (aşağıya bax).
2631

  • Kodu işlədin .

Mətnin mövqesini alacaqsınız sətirdən, mətnin böyük və ya kiçik hərflərlə yazılmasından asılı olmayaraq.

4. Sətirin sağından mətni tapmaq üçün VBA

İndiyə qədər InStr funksiyası bizə yalnız sətirin sol tərəfindəki mövqeyi verirdi. Bəs sətirin sağ tərəfindən mətn mövqeyini tapmaq istəsəniz nə etməli.

InStrRev Funksiyası sağdan axtarış aparır. InStrRev funksiyası InStr funksiyasına çox oxşar işləyir və o, sətirin sağ tərəfindəki mətnin yerini tapacaq.

Fərqi anlamaq üçün aşağıdakı nümunələrə baxın.

  • Əgər biz aşağıdakı kodu InStr funksiyası ilə işlədirsək,

bu bizə ilk mətnin “ seçim ” mövqeyini ( 16 ) verir.

  • Ancaq eyni kodu InStrRev Funksiyası ilə işlədirsək,

bu, bizə mövqeyi verir ( 27 ) sonuncu mətnin “ seçim ”.

Oxşar oxunuşlar:

  • Excel-də VBA-dan istifadə edərək növbəti tapın (2 Nümunə)
  • VBA-dan istifadə edərək (11 yol) Necə Tapmaq və Dəyişmək olar
  • Excel-də VBA-dan istifadə edərək dəqiq uyğunluğu tapın (5 yol)

5. Simvolun Sətirdə Mövqeyini Tapmaq üçün VBA

Siz həmçinin mətni tapdığınız şəkildə sətirdə müəyyən simvolun mövqeyini tapa bilərsiniz.

  • Kopyala aşağıdakı kodu VBA kod pəncərəsinə daxil edin
7823

  • Çalışdırın makronu.

Verilmiş sətirimizdə ilk “ e ”sayı 7 mövqeyi.

6. Sətirdə alt sətir tapmaq üçün VBA

Burada biz sətirdə alt sətir olub-olmadığını öyrənəcəyik.

Bunu əldə etmək üçün bizdə kodumuzda IF bəyanatı işlətmək üçün.

  • Əvvəlki şəkildə olduğu kimi, Developer nişanından Visual Basic Redaktoru açın və Kod pəncərəsinə Modul daxil edin .
  • Kod pəncərəsində aşağıdakı kodu kopyalayın və yapışdırın.
7476

Sizin kod indi işə salınmağa hazırdır.

  • makronu işlədin .

Əgər sətirinizdə alt sətir varsa, onda siz uyğunluq tapılıb alacaqsınız, əks halda heç bir uyğunluq tapılmayacaq. Nümunəmizdə “ Xoşbəxtlik seçimdir ” əsas sətirimizdə “ seçim ” sözünün olub olmadığını öyrənmək istədik. yox. Beləliklə, biz Uyğunluq tapıldı nəticəsini alırıq.

7. Hüceyrə diapazonunda sətir tapmaq üçün VBA

Sətrin xana diapazonunda müəyyən mətni axtarıb müəyyən sətri qaytara bilərsiniz.

Aşağıdakı nümunəyə baxın. “ Dr. ” tapın və uyğunluq olanda “ Doktor ” qaytaracaq.

  • Aşağıda yuxarıda müzakirə olunan nəticəni əldə etmək üçün koddur,
3535

  • Çalışdır kodu və nəticə aşağıda göstərilir

  • Siz makronuzu ehtiyaclarınıza uyğun dəyişə bilərsiniz. Məsələn, istəsənsətirin istənilən xanasında “ Prof. ” tapmaq və qaytarılması kimi “ Professor ” almaq, sonra sadəcə “ Prof. ” “ Dr ” əvəzinə dəyər kimi. makronun 4-cü sətirində və 5-ci sətirdə “ Doktor ” əvəzinə “ Professor ” yazın və müvafiq olaraq xana diapazonunun nömrəsi.

8. Hüceyrədə sətir tapmaq üçün VBA

Siz həmçinin bir sətir xanasında müəyyən mətni axtara bilərsiniz və müəyyən sətri qaytara bilərsiniz.

  • Aşağıdakı kodu kopyalayın və kod pəncərəsinə yapışdırın.
9375

O, “ Dr. <2-ni axtaracaq>” B5 xanasında və uyğunluğu taparsa, C5 xanasında “ Doktor ” qaytarır.

  • Makronu ehtiyaclarınıza uyğun dəyişə bilərsiniz. Məsələn, sətirin hər hansı bir xanasında “ Prof. ” tapmaq və qaytarılması kimi “ Professor ” almaq istəyirsinizsə, sonra sadəcə olaraq “ Dr ” əvəzinə dəyər olaraq “ Prof. ” yazın. makronun 2-ci sətirində və 3-cü sətirdə “ Doktor ” əvəzinə “ Professor ” yazın və xana istinad nömrəsi müvafiq olaraq.

Nəticə

Bu məqalə sizə VBA makrosundan istifadə edərək Excel-də sətirdə müəyyən mətnləri necə tapmağı göstərdi. Ümid edirəm ki, bu məqalə sizin üçün çox faydalı oldu. ilə bağlı istənilən sualı verməkdən çekinmeyinmövzu.

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.