Mündəricat
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.
|
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,
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” və 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
- Və Ç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.