Mundarija
Agar siz VBA yordamida aniq moslikni topishning eng oson usullarini izlayotgan bo'lsangiz, ushbu maqola sizga foydali bo'ladi. Shunday qilib, keling, maqolani boshlaymiz va aniq moslikni topish usullari bilan tanishamiz.
Ish kitobini yuklab olish
VBA Find Exact Match.xlsm
VBA yordamida aniq moslikni topishning 5 ta usuli
Men quyidagi jadvaldan foydalandim, unda ba'zi talabalarning natijalari qayd etilgan. Men ushbu jadval yordamida VBA yordamida aniq moslikni topishning turli usullarini tushuntiraman.
Shu maqsadda men Microsoft Excel 365 versiyasidan foydalanganman, siz boshqa har qanday versiyalardan foydalanishingiz mumkin. sizning qulayligingizga ko'ra.
1-usul: Hujayralar diapazonida aniq moslikni topish
Agar qatorning aniq mosligini topmoqchi bo'lsangiz, shunga o'xshash. talabaning ismini ko'rsating, so'ngra o'quvchining katak o'rnini toping, keyin bu usulni qo'llash orqali buni amalga oshirishingiz mumkin.
Bu erda men uchun aniq moslikni topaman. “Jozef Mikahel” ismli talaba.
01-bosqich :
➤ Tuzuvchi Tab>>ga o'ting; Visual Basic Variant
Keyin, Visual Basic muharriri ochiladi.
➤
Bundan keyin Module yaratiladi.
02-bosqich :
➤Quyidagi kodni yozing
2525
Bu yerda “aniq moslik” varaq nomi va “B5:B10” butalabalar ismlari diapazoni, “Jozef Maykl” esa aniqlanishi kerak boʻlgan talabaning ismidir.
rng diapazon obyekti sifatida eʼlon qilinadi va str qidirilayotgan element manzilini saqlash uchun satr oʻzgaruvchisi sifatida.
IF iborasi element manzilini str oʻzgaruvchiga tayinlaydi.
➤ F5
Natija tugmasini bosing:
Shundan so'ng siz quyidagini olasiz quyidagi Xabar qutisi “Jozef Maykl” ismli talabaning katak holatini oʻz ichiga olgan .
Batafsil oʻqish: Excelda VBA diapazonida toping: aniq va qisman mosliklarni o'z ichiga oladi
2-usul: VBA yordamida aniq moslikni topish va uni almashtirish
Men ko'rsataman ko'rsatilgan talabaning ismini topish va keyin uni boshqa ism bilan almashtirish usuli, chunki bu erda qandaydir tarzda xato yozilgan. Siz o'zingiz xohlagan qatorni topishingiz va uni almashtirishingiz mumkin .
01-bosqich :
➤ Usul-1 ning 01-bosqichi ga amal qiling
7308
Bu yerda “topish va almashtirish” varaq nomi va “B5:B10” talabalar ismlari diapazoni va “Donald Pol” - bu talabaning ismi, uni aniqlash kerak, keyin “Genri Jekson” oldingisining oʻrniga talabaning ismi boʻlsin.
WITH deb har bir bayonotda kod boʻlagi takrorlanishidan saqlaydi.
IF bayonotni tayinlaydielement manzili str oʻzgaruvchiga va DO aylanasi qidiruv soʻzining barcha takrorlanishini almashtiradi.
➤<1 tugmasini bosing>F5
Natija :
Bundan keyin siz yangi talabaning ismini “Genri Jekson” deb olasiz.
3-usul: Aniq va katta-kichik kichik moslikni topish
Agar siz katta-kichik harf sezgir moslikni topmoqchi bo'lsangiz, ushbu usulga amal qiling. Bu yerda menda bir-biriga o'xshash ikkita ism bor, lekin holatda farq bor va vaziyatga qarab men oxirgi talabaning ismini almashtiraman.
Qadam. -01 :
➤ Usul-1ning 01-qadam siga amal qiling
6108
Bu yerda “katta-katta” varaq nomi va “B5:B10” talabalar ismlari diapazoni, “Donald Pol” esa aniqlanishi kerak boʻlgan talabaning ismi va keyin “Genri Jekson” oldingi oʻrniga talabaning ismi boʻladi.
WITH kod boʻlagi har bir bayonotda takrorlanishini oldini oladi.
IF iborasi elementning manzilini str oʻzgaruvchiga belgilaydi va DO tsikli qidiruv soʻzining barcha takrorlanishini almashtiradi.
➤ F5
Natija tugmasini bosing:
Endi, vaziyatga ko'ra, talabaning ismi “Genri Jekson” ga oʻzgartiriladi.
Shunga oʻxshash oʻqishlar:
- Excelda VBA-dan foydalanib hujayradagi satrni qanday topish mumkin (2 usul)
- VBAExcelda ustundan toping (7 ta yondashuv)
- Excelda VBA yordamida satrni qanday topish mumkin (8 ta misol)
4-usul: Foydalanish InStr funksiyasi
Deylik, siz O'tish yoki Muvaffaqiyatsiz talabalarning ismlariga Natijalar ustuniga qarab mos kelmoqchisiz, bu erda O'tish yoki Omadsiz yozildi. Ushbu qatorni Natijalar ustunida topish va imtihondan o'tgan talabalar uchun “O'tdi” ni Holat ustuniga yozish uchun <1 dan foydalanishingiz mumkin>InStr funksiyasi .
01-bosqich :
➤Kuzing 01-bosqich ning Usul-1
7956
Bu yerda hujayra diapazoni C5:C10 bu Natija ustuni
InStr(hujayra qiymati, “Oʻtish”) > 0 bu raqam noldan katta boʻlgan shart (yacheykada “Oʻtish” mavjud boʻlsa) keyin keyingi qator davom etadi va qoʻshni katakdagi chiqishni Oʻtdi<2 deb beradi>.
Agar shart noto'g'ri bo'lsa, katakchada hech qanday “O'tish” yo'qligini bildiradi, u holda ELSE ostidagi qator bajariladi va chiqish qiymatini beradi. qo'shni katakchani Bo'sh deb belgilang.
Ushbu tsikl har bir katak uchun davom etadi.
➤ F5
Natija :
Keyin, siz o'tgan talabalar uchun “O'tdi” statusini olasiz.
5-usul: Aniq moslikni topish va ma'lumotlarni ajratib olish
Agar siz ma'lumotlarni chiqarmoqchi bo'lsangiz “Maykl Jeyms” ismli talaba uchun tegishli ma'lumotlar u holda siz ushbu usulga amal qilishingiz mumkin.
01-bosqich :
➤ Usul-1
1589
ning 01-bosqichi siga amal qiling. Bu yerda men B100 ni Faol sifatida ishlatganman. Sheet diapazoni (foydalanishingizga qarab istalgan diapazondan foydalanishingiz mumkin).
InStr(1, Range(“B” & i), “Maykl Jeyms”) > 0 - B ustunidagi katakchada Maykl Jeyms mavjudligini tekshirish sharti.
Range("E" ” & icount & “:G” & icount) chiqish ma’lumotlari kerak bo‘lgan diapazon va Range (“B” & i & “:D” & i).qiymat B ustunidan D gacha qiymatlarni beradi.
➤ F5 tugmasini bosing
Natija :
Keyin, siz Maykl Jeyms ismli talabalar uchun quyidagi olingan ma'lumotlarni olasiz.
Amaliyot bo'limi
O'zingiz mashq qilish uchun biz quyida berilgan Amaliyot deb nomlangan varaqdagi kabi Amaliyot bo'limini taqdim etdik. . Iltimos, buni o'zingiz bajaring.
Xulosa
Ushbu maqolada men VBA