Mundarija
Biz Excelda VBA bilan ishlashda foydalanadigan eng muhim va keng qoʻllaniladigan funksiyalardan biri VBA ning Oʻrta funksiyasi hisoblanadi. U kirish sifatida satrni oladi va chiqish sifatida satrning o'rtasidan ma'lum miqdordagi belgilarni qaytaradi. Bugun ushbu maqolada men sizga VBA ning O'rta funktsiyasi dan qanday qilib to'g'ri misollar va rasmlar bilan foydalanish mumkinligini ko'rsataman.
Bu 8-chi belgidan boshlab “Anjela Ketrin Nevills” qatoridan 9 belgilarni qaytaradi. Bu “Ketrin” .
Amaliy kitobni yuklab oling
Vazifani bajarish uchun ushbu mashq kitobini yuklab oling. siz ushbu maqolani o'qiyapsiz.
VBA Mid Function.xlsm
Excelda VBA-ning o'rta funktsiyasiga kirish
⧭ Funktsiya maqsadi:
O'rta funktsiyasi kirish sifatida qiymat oladi va chiqish sifatida qiymatning berilgan pozitsiyasidan boshlab berilgan sonli belgilarni qaytaradi.
Qiymat satr, raqam yoki hatto boolean boʻlishi mumkin.
Masalan, agar siz O'rta("Anjela Ketrin Nevills",8,9) ni qo'shsangiz, "Ketrin" ni qaytaradi.
Agar siz Mid(12345,2,3) , ni qo'shsangiz, siz 234 ni olasiz.
Va Mid(False,2,3) ni qo'shing, siz als olasiz.
⧭ Sintaksis:
O'rta sintaksisi VBA ning funktsiyasibu:
=Mid(String,Start as Long,[Length])
⧭ Argumentlar:
Argument | Majburiy / Majburiy emas | Tushuntirish |
---|---|---|
String | Majburiy | Quyidagidan satr qaysi bir qator belgilar qaytariladi. |
Boshlash | Majburiy | Qaytariladigan satrning boshlang'ich belgisi. |
Uzunlik | Ixtiyoriy | Qaytariladigan belgilar soni. Standart 1. |
⧭ Qaytish qiymati:
Oʻrtadan berilgan belgilar sonini qaytaradi berilgan pozitsiyadan boshlab satrning.
3 Excelda VBA oʻrta funksiyasiga misollar
Bu safar keling, Oʻrta funksiya
1. Excelda VBA-ning o'rta funktsiyasidan foydalanib, ma'lum miqdordagi belgilarni ba'zi identifikatorlarning o'rtasidan ajratish
Bu erda biz IDlar va bilan ma'lumotlar to'plamini oldik. Saturn Group deb nomlangan kompaniyaning ayrim xodimlarining ismlari .
Bu yerda har birining 4- dan 7-chi belgilari. ID tegishli xodimning qoʻshilish yilini bildiradi.
Endi biz VBA ning Oʻrta funksiyasi yordamida Foydalanuvchi tomonidan belgilangan funksiya ni ishlab chiqamiz. Bu Xodim identifikatori dan har bir xodimning qo'shilish yilini chiqaradi.
Quyidagi VBA kodidan foydalanishingiz mumkin:
⧭ VBA kodi:
7432
Izoh: Ushbu kod Joining_Year deb nomlangan funktsiyani yaratadi.
⧭ Chiqish:
Buni ishga tushiring argument sifatida identifikatori bilan ishchi varaqingizning istalgan katagida ishlaydi.
Bu yerda, D4 katakchasiga formulani kiritdik:
=Joining_Year(B4)
Birinchi xodimning qoʻshilish yili 2021 qaytarildi.
Endi siz -ni sudrab oʻtishingiz mumkin. Qolgan xodimlarning qoʻshilish yillarini olish uchun Tutqichni toʻldiring.
⧭ Kodeksning tushuntirishi:
- Birinchi, biz Qo'shilish_Yil deb nomlangan funktsiyani e'lon qilamiz, u Funktsiya Qo'shilish_Yili(ID) qatoriga kirish sifatida ID oladi.
- Keyin identifikatordan 4 pozitsiyasidan boshlab 4 belgilarni, Joining_Year = Mid(ID, 4, 4) qatori orqali chiqaramiz.
- End Function qatori funksiyaning oxirini e'lon qiladi.
2. Excelda VBA-ning o'rta funktsiyasidan foydalanib, ba'zi elektron pochta manzillaridan kengaytmalarni ajratib olish
Endi biz ma'lumotlar to'plamiga xodimlarning elektron pochta manzillarini o'z ichiga olgan yangi ustun qo'shdik.
Bu safar biz VBA ning Oʻrta funksiyasidan foydalangan holda elektron pochta manzillarining kengaytmalarini chiqaramiz.
VBA kodi quyidagicha bo'ladi:
⧭ VBA kodi:
5426
Izoh: Ushbu kod Kengaytma deb nomlangan funktsiyani yaratadi.
⧭ Chiqish:
Buni ishga tushiring E-pochta bilan ish varaqingizning istalgan katagida ishlaydiArgument sifatida manzilini ko'rsating.
Bu erda, E4 katakchaga formulani kiritdik:
=Extension(D4)
U birinchi elektron pochta manzilining kengaytmasini qaytardi.
Keyin barcha elektron pochta kengaytmalarini chiqarish uchun Toʻldirish dastagini sudrab oʻtishingiz mumkin. manzillar.
⧭ Kodeksning izohi
- Birinchi, biz nomli funktsiyani e'lon qilamiz. Kengaytma u satr orqali istalgan nomni kiritadi Funktsiya kengaytmasi(Email_manzil) .
- Keyin biz for-loop<2 bilan iteratsiyani boshlaymiz> bu E-pochta manzili ning har bir belgisini @ yoki yoʻqligini tekshirish uchun Agar Oʻrta(E-mail_manzil, i, 1) = “@” Keyin<2 qatori boʻyicha tekshiradi> .
- Agar u @ ni topsa, u E-pochta manzili dan Kengaytma = Oʻrta(Email_manzil, i) qatori boʻyicha kerakli kengaytmani chiqaradi. + 1, Len(Email_Address) – (i + 4)) .
- Nihoyat, funksiyaning tugashini e'lon qilamiz.
3. Ba'zi matnlarni o'z ichiga olgan yoki yo'qligini tekshirish
O'rta funktsiya ning eng muhim qo'llanilishidan biri bu matnda ma'lum bir matn bor yoki yo'qligini bilishdir. .
Keling, E-pochta manzillari tarkibida “gmail” atamasi bor yoki yoʻqligini tekshirish funksiyasini ishlab chiqamiz.
Quyidagilardan foydalanishingiz mumkin VBA kodi:
⧭ VBA kodi:
8012
Izoh: Bu kod funksiya yaratadi chaqirdi Tekshirish .
⧭ Natija:
Ushbu funksiyani istalgan katakda ishga tushirish argument sifatida ikkita matnli ishchi varaqingiz.
Bu yerda E4 katakchaga formula kiritdik:
=Checking(D4,"gmail")
U ha deb qaytardi, chunki birinchi elektron pochta manzili Gmail .
Keyin, siz Barcha elektron pochta identifikatorlari uchun xuddi shunday qilish uchun To'ldirish dastagi .
⧭ Kod tushuntirishi:
- Birinchidan, Funktsiyani tekshirish(Matn1,Mat2) qatori boʻyicha argument sifatida ikkita matnni oladigan Tekshirish funksiyasini eʼlon qilamiz.
- Keyin 1 pozitsiyasidan boshlab Matn1 ning har bir segmentini tekshiradigan for tsiklini boshlaymiz, u Mat2 ga teng yoki teng emasligini ko'rish uchun. , satr bo'yicha Agar O'rta(Matn1, i, Len(Mat2)) = Matn2 Keyin .
- Agar u Text2 ni topsa, u “Ha” ni qaytaradi, aks holda “Yoʻq” ni qaytaradi.
- Nihoyat, biz Funktsiyani tugatish qatori bo'yicha funktsiyani yakunlaymiz.
Eslash kerak bo'lgan narsalar
- Oʻrta funksiya ning 1-chi argumenti har doim ham satr boʻlishi shart emas. Bu string , raqam yoki hatto boolean qiymati boʻlishi mumkin.
- Lekin 2-chi va 3-chi argumentlar raqamlar boʻlishi kerak. Ular butun sonlar yoki kasrlar bo'lishi mumkin, lekin raqamlar bo'lishi kerak. Agar ular kasrlar bo'lsa, u holda O'rtafunktsiya ularni eng yaqin butun sonlarga aylantiradi.