Агуулгын хүснэгт
VBA -г хэрэгжүүлэх нь Excel дээр аливаа үйлдлийг гүйцэтгэх хамгийн үр дүнтэй, хурдан бөгөөд аюулгүй арга юм. Энэ нийтлэлд бид Excel-ийн VBA -г ашиглан өөр өгөгдсөн стрингээс тодорхой мөрүүдийг хэрхэн олохыг танд үзүүлэх болно.
Дадлагын загварыг татаж авах
Та Excel-ийн үнэгүй дадлага хийх загварыг эндээс татаж авах боломжтой.
String.xlsm-с олох VBA
InStr функц
Microsoft Excel нь өгөгдсөн мөр дэх тодорхой тэмдэгт мөрүүдийн байрлалыг олох InStr функц нэртэй суурилагдсан функцтэй.
Ерөнхий синтакс:
InStr([start], string1, string2, [compare])
Энд,
Аргументууд | Шаардлагатай/ Нэмэлт | Тодорхойлолт |
---|---|---|
эхлэх | Сонголт | Хайлтын эхлэлийн байрлал.
|
string1 | Шаардлагатай | Хайх мөр, Үндсэн мөр. |
string2 | Шаардлагатай | Үндсэн мөрөнд хайх мөр . |
харьцуулах | Нэмэлт | InStr функц нь анхдагчаар том жижиг үсгийг харгалздаг. Гэхдээ хэрэв та InStr том жижиг үсгээр бичихийг хүсвэл энд аргументыг дамжуулж тодорхой харьцуулалт хийж болно. Энэ аргумент нь дараах байж болноутгууд,
Өгөгдмөлөөр InStr нь vbBinaryCompare -г харьцуулах аргумент болгон авдаг. |
VBA-г ашиглан өгөгдсөн мөр дэх тодорхой мөрийн байрлалыг олох 8 хялбар жишээ
Өгөгдсөн мөр дэх тодорхой мөрүүдийн байрлалыг олох энгийн жишээг харцгаая. VBA .
1. Мөр дэх текстийн байрлалыг олох VBA
Доорх жишээг олохын тулд InStr байна. мөр дэх текстийн байрлал.
- Гар дээрх Alt + F11 товчийг дарах эсвэл таб руу очно уу Хөгжүүлэгч -> Visual Basic -г Visual Basic Editor -г нээнэ үү.
- Попап гарч ирэх кодын цонхонд цэсний мөрнөөс , Оруулах -> Модуль .
- Одоо кодын цонхонд VBA дэд доторх энгийн InStr програм бичнэ үү. Процедур (доороос харна уу).
8185
Таны код одоо ажиллахад бэлэн боллоо.
- F5 дарна уу. гар дээрээ эсвэл цэсийн мөрнөөс Run -> Sub/UserForm -г ажиллуул. Та мөн макро ажиллуулахын тулд дэд цэсний жижиг Тоглуулах дүрс дээр дарж болно.
Та дараахыг харах болно. гарч ирэх мессежийн хайрцаг танд тоо өгөх болношалгахыг хүссэн текстийнхээ байрлалыг зарлах.
Тайлбар:
Бидний үндсэн мөр, “ Аз жаргал is a choice ” нь 21 үсэгтэй өгүүлбэр (хоосон зайтай) бөгөөд бид “ сонголт ” текстийн тухайн мөр дэх байрлалыг олохыг хүссэн. “ сонголт ” текст нь үндсэн мөрийн 16-р байрлалаас эхэлсэн тул мессежийн хайрцагт 16 дугаарыг гаргав.
2. Мөр дэх тодорхой байрлалаас текстийг олох VBA
Одоо бид тодорхой тооноос тухайн байрлалыг авахыг хүсвэл юу болохыг олж мэдье.
- Ижил арга замтай. өмнө Хөгжүүлэгч табаас Visual Basic Editor -г нээж, кодын цонхонд Оруулах Модуль -г оруулна уу.
- Дол кодын цонхонд дээр үзүүлсэн энгийн InStr програм бичээд текстээ тоолохыг хүссэн байрлалынхаа дагуу эхлэх аргумент дахь утгыг дамжуулна уу.
1437
- Дараа нь Ажиллуулна кодыг оруулна уу.
Та гарч ирэх мессежийн хайрцаг гарч ирэхийг харах болно. шалгахыг хүссэн тодорхой байрлалаас эхлэн текстийн байрлалыг зарласан дугаарыг танд өгнө үү.
Тайлбар:
Бид аль хэдийн мэдэж байсан (1-р шатны хэлэлцүүлгээс) “ сонголт ” текст 16 байрлалаас эхэлсэн тул бид хоёр “ сонголт "-г үндсэн мөрөнд оруулаад 17 -г манайхаар тохируулна уу.Эхний “ сонголт ”-г алгасах 1-р параметр. Тиймээс бид дээрх макро Ажиллуулах ба энэ нь бидэнд 27 байрлалын дугаарыг харуулсан бөгөөд энэ нь яг хоёр дахь “ сонголт ”-ын байрлалын дугаар юм. өгөгдсөн мөрөнд.
3.
InStr функцийн танилцуулгаас эхлээд InStr функцийг анхдагчаар нь мэдэж байгаа гэдгийг мэдэж байгаа. жижиг үсгийн мэдрэмжтэй байна. Үүнийг жишээгээр олж мэдье.
Бид “ Сонголт гэсэн үгийн байрлалыг олохыг хүссэн дараах VBA кодыг харна уу. ” гэж том “C” үсгээр “ Аз жаргал бол сонголт ” гэж бичнэ. Энд сонголтыг жижиг “c” үсгээр бичнэ. .
- кодыг ажиллуулаад 0 -г бидний гаралт гэж ол.
Яагаад гэвэл InStr функц нь том “C” ба жижиг “c” -г өөр өөрөөр авч үздэг. Тиймээс " Сонголт " гэсэн үгийг мөр дотроос хайгаад тохирохгүй байсан тул 0 гэж буцаасан.
- InStr функцийг үсгийн жижиг үсэг мэдрэгддэггүй болгохын тулд харьцуулах аргументыг vbTextCompare болгож тохируулна уу (доороос харна уу).
8080
- Кодыг ажиллуул .
Та текстийн байрлалыг авах болно. том үсгээр эсвэл жижиг үсгээр бичигдсэн эсэхээс үл хамааран мөрөөс.
4. Мөрний баруун талаас текст олох VBA
Одоог хүртэл InStr функц нь зөвхөн мөрийн зүүн талын байрлалыг бидэнд өгч байсан. Гэхдээ та мөрийн баруун талаас текстийн байрлалыг олохыг хүсвэл яах вэ.
InStrRev функц баруун талаас хайдаг. InStrRev функц нь InStr функцтэй маш төстэй ажилладаг бөгөөд энэ нь мөрийн баруун талаас текстийн байрлалыг олох болно.
Ялгааг ойлгохын тулд дараах жишээнүүдийг харна уу.
- Хэрэв бид дараах кодыг InStr функцээр ажиллуулбал
энэ нь бидэнд " сонголт " эхний текстийн байрлалыг ( 16 ) өгдөг.
- Гэхдээ бид InStrRev функцтэй ижил кодыг ажиллуулбал
энэ нь бидэнд байрлалыг өгнө. ( 27 ) сүүлийн текстийн “ сонголт ”.
Ижил төстэй уншлага:
- Excel дээр VBA ашиглах (2 жишээ)
- VBA (11 арга) ашиглан хэрхэн олж, солих вэ
- Excel дээр VBA ашиглан яг таарч тохирохыг олох (5 арга)
5. Мөр дэх тэмдэгтийн байрлалыг олох VBA
Та текстийг олсон шиг мөр дэх тодорхой тэмдэгтийн байрлалыг олох боломжтой.
- Хуулбарлах дараах кодыг VBA кодын цонхонд оруулна
8786
- Мөн ажиллуулна макро.
Бидний өгөгдсөн мөр дэх эхний “ e ” ньтоо 7 байрлал.
6. Мөр доторх дэд мөрийг олох VBA
Энд бид мөр нь дэд мөр агуулж байгаа эсэхийг олж мэдэх болно.
Үүнийг олж авахын тулд бидэнд хэрэгтэй. Манай кодонд IF Statement -г ажиллуулахын тулд.
- Өмнө нь адил арга замаар Хөгжүүлэгч табаас Visual Basic Editor -г нээж, Кодын цонхонд Модуль Оруулах .
- Код цонхонд дараах кодыг хуулж буулгана уу.
9087
Таны код одоо ажиллахад бэлэн байна.
- макро ажиллуулна уу.
Хэрэв таны мөрт дэд мөр агуулж байгаа бол та тохируулга олдсон -г авах бөгөөд эс бөгөөс тохирох зүйл олдсонгүй. Бидний жишээн дээр бид " Аз жаргал бол сонголт " гэсэн үндсэн мөрөнд " сонголт " гэсэн үг байгаа эсэхийг мэдэхийг хүссэн. үгүй. Үүний дагуу бид Тохиролт олдсон үр дүнг авна.
7. Нүдний мужаас мөр олох VBA
Та мөрийн хүрээнээс тодорхой текстийг хайж, тодорхой мөрийг буцааж болно.
Бид дараах жишээг харна уу. “ Доктор ”-г олоод таарах үед “ Доктор ” гэж буцаана.
- Дээр дурдсан үр дүнг авах кодыг доор харуулав,
2315
- Ажиллуулна код, үр дүнг доор харуулав
- Та макро өөрийн хэрэгцээнд тохируулан өөрчилж болно. Жишээлбэл, хэрэв та хүсвэлмөрийн дурын нүднээс “ Проф. ”-г олохын тулд “ Профессор ”-г буцааж аваад “<1”-ийг зүгээр л дамжуулаарай. “ Доктор ”-ын оронд> Проф. ” гэж бичнэ. макроны 4-р мөрөнд, 5-р мөрөнд " Доктор "-ын оронд " Профессор " гэж бичээд нүдний мужийг зохих ёсоор тоолно.
8. Нүдэнд мөрийг олох VBA
Та мөн мөртийн нэг нүднээс тодорхой текст хайж тодорхой мөрийг буцааж болно.
- Дараах кодыг хуулж кодын цонхонд буулгана уу.
4446
Энэ нь " Доктор <2" гэж хайна>" гэж В5 нүдэнд тохирох ба тохирохыг олвол C5 нүдэнд " Доктор "-г буцаана.
- Та макро өөрийн хэрэгцээнд тохируулан өөрчилж болно. Жишээлбэл, хэрэв та мөрийн аль ч нүдэнд “ Проф. ”-г олохыг хүсвэл “ Профессор ”-г буцаана. дараа нь зүгээр л " Доктор "-н оронд " Проф. "-г утга болгон оруулна уу. макроны 2-р мөрөнд, 3-р мөрөнд " Доктор "-ын оронд " Профессор " гэж бичнэ. эсийн лавлагааны дугаар.
Дүгнэлт
Энэ нийтлэл нь VBA макро ашиглан Excel-ийн стринг дэх зарим текстийг хэрхэн олохыг харуулсан. Энэ нийтлэл танд маш их тус болсон гэж найдаж байна. Үүнтэй холбоотой ямар ч асуулт асууж болносэдэв.