Mundarija
Excelda VBA yordamida diapazonni qanday saralashni bilish kundalik hisob-kitoblarimizda vaqt va kuchni tejaydi. Excel sukut bo'yicha saralash imkoniyatini taqdim etsa ham. Range.Sort metod dan foydalanish orqali biz odatdagidan ko'proq imkoniyatlarga ega ma'lumotlar to'plamini saralash uchun bir nechta parametrlarga kirish imkoniyatiga ega bo'lamiz.
Amaliy kitobni yuklab oling
Ushbu maqolani o'qiyotganingizda mashq qilish uchun ushbu mashq kitobini yuklab oling.
Excel.xlsm-da diapazonni tartiblash
Excel VBA-dagi Range.Sort bayonotiga kirish
Maqsad : Hujayra ma'lumotlari diapazonini saralash.
Sintaksis:
ifoda .Sartlash ( Kalit1 , Buyurtma1 , Kalit2 , Tur , Buyurtma2 , Kalit3 , Buyurtma3 , Sarlavha , BuyurtmaCustom , MatchCase , Orientation , SortMethod , DataOption1 , DataOption2 , DataOption3 )
Bu yerda ifoda Diapazon ob'ektni, ya'ni katak, qator, ustun yoki yacheykalar tanlovini ifodalaydi.
Argumentlar:
Biz Range.Sort usuli uchun uchta asosiy parametrni taqdim etishimiz kerak. Ular-
Kalit – Biz saralashimiz kerak bo'lgan bitta yoki bir nechta ustunli katakchalar diapazoni.
Buyurtma – Saralash tartibini ham belgilang ortib yoki kamayib boruvchi.
Sarlavha – Saralanadigan ustunlar sarlavhasi bor yoki yo'qligini e'lon qiling.
Excel VBA-da diapazonni saralash uchun 6 ta misol
InUshbu maqola ma'lumotlar to'plami sifatida biz odamlarning ismlari ro'yxatidan ularning tug'ilgan sanasi va yoshi bilan foydalanamiz. Ma'lumotlar to'plamini saralash uchun biz turli usullarni qo'llaymiz. Keling, maqolani ko'rib chiqamiz va ushbu usullarni o'zlashtirish uchun mashq qilamiz.
1. Excel VBA-dan foydalanib bitta ustunli diapazonni saralash
Ushbu misolda biz eng keksa dan eng yoshga qadar odamlarni saralaymiz . Keling, Diapazon . Tartiblash usulini usulidan foydalanish bosqichlarini bajaramiz>kamayish tartibi .
Qadamlar:
- Excel tasmasi dagi Tuzuvchi yorlig'iga o'ting> uchun Visual Basic
- -da bosing Keyin Modul variantini<2 tanlang> Yangi modulni ochish uchun Qo'shish yorlig'i dan.
Endi kodimizni quyidagi manzilga joylashtiramiz. Yosh ustun diapazonini tartiblash .
1.1 Sarlavhali ustun
Vizual kod muharririga quyidagi kodni qo'ying.
8556
F5 -ni bosing yoki Ishga tushirish tugmasini kodni bajarish uchun bosing.
Izoh:
Yuqoridagi kodda biz-
Ifoda (Range obyekti)=Range("D4:D11"); yosh ustuni sarlavhasi D4 katak va qiymatlari D5:D11.
Kalit = Diapazon (“D4”); tugmacha saralash uchun.
Order= xlKasalash; biz saralashni xohlayotganimiz sababli qiymatlarni eng katta dan pastki ga qadar biz saralash tartibini o'rnatamiz pasaytiruvchi.
Sarlavha =xlHa; Quyidagi skrinshotda biz ma'lumotlar to'plami a ga ega ekanligini ko'rishimiz mumkin. sarlavha har bir ustun uchun.
1.2 Sarlavhasiz ustun
Quyidagini qo'ying vizual kod muharriridagi kod.
5312
Kodni bajarish uchun F5 yoki Ishga tushirish tugmasini bosing.
Izoh:
Yuqoridagi kodda biz qo'yamiz-
Ifoda (Range obyekti)=Range(“D4 :D10”); yosh ustuni sarlavhasiz qiymatlari D4:D10.
Kalit = Diapazon (“D4”); tugmacha saralash uchun.
Order= xlKasalash; biz qiymatlarni eng katta dan pastki ga saralashni xohlaganimiz uchun biz saralash tartibini kamayuvchi sifatida o'rnatamiz.
Sarlavha =xlNo; Quyidagi skrinshotda biz ma'lumotlar to'plami da sarlavha yo'qligini ko'rishimiz mumkin.
Aloqador tarkib: Ma'lumotlarni aralashtirmasdan Excelda ustunlarni qanday saralash mumkin (3 usul)
2. Excelda bir nechta ustunlar diapazonini saralash uchun VBA kodidan foydalanish
bir nechta ustunlar da tartiblashni ko'rsatish uchun biz o'zgartirishimiz kerak. 1>ma'lumotlar to'plami biroz. Biz qo'shdik bir nechta yangi qator . O'zgartirilgan ma'lumotlar to'plamida 7, 8, va 9 qatorlar tug'ilgan sanasi va yoshlar uchun bir xil qiymatlarga ega lekin uch xil nom . Bu ismlar aniq bir tartibda emas ko'tarilish yoki pasayish.
Ushbu misolda biz nomlarni o'sish tartibida tartiblaymiz. Visual basic muharririda quyidagi kodni ishga tushiramiz:
5074
Izoh:
Yuqorida skrinshotda biz ustun D dagi yoshlar kamayish boʻyicha tartibda tartiblanganligini koʻrishimiz mumkin. Oldingi kodimizga yana ikkita parametr qo'shdik.
2-kalit: =Range(“B4”) , nomlarni saralash kaliti.
Order2: =xlOscending , tartibi qisqartirilgan nomlar uchun.
Natijada biz ismlarni da ko'ramiz. 7, 8 va 9-qatorlar endi alifbo tartibida o'sish tartibida tartiblangan.
Keyingi skrinshotda biz ni o'zgartirdik. Order2 parametrining qiymatini tartiblash uchun ismlarni kamayish tartibida.
Batafsil o'qing: Excelda bir nechta ustunlarni qanday saralash (5 ta tezkor yondashuv)
3. Excel VBA-da ustunlar oralig'ini saralash uchun sarlavha ustiga ikki marta bosing
Excelning standart tartiblash xususiyati ustunning qiymatlarini <1 bo'yicha saralashga ruxsat bermaydi>ikki marta bosish ustun sarlavhasi . Ammo VBA kodidan foydalanib, biz buni amalga oshirishimiz mumkin. Keling, ushbu funksiyani quyidagi kodni qo'llash orqali ko'rsatamiz.
5770
Ushbu kodda biz BeforeDoubleClick hodisasidan odatiy ikki marta bosish – bosish<2ni o'chirish uchun o'tkazdik> yacheykaning tahrirlash rejimini ishga tushirishdir. Ushbu hodisa bilanishlayotgan bo'lsak, agar biz ustun sarlavhalaridan biriga ikki marta – bossak bu ustun ma'lumotlarini o'sish tartibida tartiblaydi.
Batafsil o'qing: Excelda ustunni saralash uchun VBA (4 usul)
O'xshash o'qishlar:
- Excelda Saralash tugmachasini qanday qo'shish mumkin (7 usul)
- Excelda noyob ro'yxatni tartiblash (10 ta foydali usul)
- Qanday qilib Excel VBA da saralash funksiyasidan foydalanish (8 ta mos misol)
- Excelda dublikatlarni tartiblash (ustunlar va qatorlar)
- Excelda tasodifiy tartiblash ( Formulalar + VBA)
4. Excel VBA-dan foydalanib, ustunlar diapazonini fon rangiga qarab saralash
Ustunning bir qator katakchalarini ga asoslangan holda ularning fon rangiga qarab saralashimiz mumkin. 2>. Buning uchun biz xlSortOnCellColor qiymatiga ega SortOn nomli a parametrni qo'shishimiz kerak. Saralashni ko'rsatish uchun biz avvalo ma'lumotlar to'plamimiz qatorlariga turli xil fon ranglarini o'rnatamiz.
Keyin vizual asosda kod muharriri nusxalash quyidagi kodni va uni ishga tushirish uchun F5 ni bosing.
6934
Keyingi skrinshotda biz tartiblangan maʼlumotlar toʻplamini ga asoslangan holda koʻrishimiz mumkin. ularning fon rangida.
Izoh:
- Ushbu misolda biz ishchi varaqni <2 deb nomladik>“ fon ”. Shunday qilib, kodda biz “ fon ”ni faol ish varag‘imiz nomi sifatida qo‘ydik.
- Biz B4 ni kalit sifatida o‘rnatamiz. va B4:D10 sifatida diapazon . Kod maʼlumotlarni kalit asosida saralaydi.
- Biz sarlavha parametrini belgilamaganimiz sababli, kod birlamchi sarlavha yoʻq.
- Biz tartib parametrini o'sish bo'yicha qilib o'rnatdik, shuning uchun u ma'lumotlarni pastdan yuqori qiymatlarga saraladi .
Batafsil o'qing: Excelda rang bo'yicha qanday saralash mumkin (4 mezon)
5. Ustun diapazonini shrift rangiga qarab saralash uchun VBA kodini qo'llang
VBA kodini qo'llash orqali biz ma'lumotlar to'plamini ularning shrift rangi asosida saralashimiz mumkin. Birinchidan, misolni ko'rsatish uchun turli qatorlarni ranglashimiz kerak.
Ma'lumotlar to'plamini shrift rangiga qarab tartiblash uchun quyidagi kodni qo'llang.
1167
Izoh:
- Bunda masalan, biz ishchi varaqni “ shrift rangi ” deb nomladik. Shunday qilib, kodda biz faol ishchi varaq nomi sifatida “ fontcolor ” ni qo'yamiz.
- Biz B4 ni kalit sifatida o'rnatamiz. va B4:D11 diapazon sifatida. Kod ma'lumotlarni kalit asosida saralaydi.
- Ushbu misolda biz sarlavha parametrini xlYes deb ham belgiladik.
- Bu erda biz tartibni o'rnatdik. parametri o'sish bo'yicha, shuning uchun u ma'lumotlarni pastdan yuqori qiymatlarga saraladi .
- SortOn parametrining qiymati
- orientatsiya parametri majburiy bo'lgani uchun xlTopToBottom qiymatini ushlab turadi.
- Tartiblash uchun rang RGB shartlarida ko'rsatilgan. qiymatga ega 0 dan 255 gacha.
Batafsil o'qing: Excelda ikkita ustunni mos kelish uchun qanday saralash mumkin (ikkalasi ham aniq). va Qisman moslik)
6. Excel VBA-dan foydalanib diapazonni saralash uchun yo'nalishni o'zgartiring
orientatsiya parametridan foydalanib, biz ma'lumotlarni saralash usulini o'zgartirishimiz mumkin. Bu misolda biz ma'lumotlar to'plamimizni saralash uchun gorizontal ga o'tkazdik.
Keling, Visual basic muharririda quyidagi kodni bosing va uni ishga tushirish uchun F5 tugmasini bosing.
9190
Bu yerda biz ma'lumotlarni yosh qatoriga qarab tartibladik yosh qatori ko'tarilgan tartibda chapdan o'ngga . Kodda biz orientation parametrini xlSortRows sifatida o'rnatdik.
Aloqador tarkib: Excelda bir nechta ustunlarni qanday avtomatik saralash mumkin (3 usul)
Eslash kerak bo'lgan narsalar
- Biz foydalangan SortOn parametri saralash fon rangi va shrift rangi ga asoslangan ustun diapazoni faqat ishchi varaq obyekti tomonidan ishlatilishi mumkin. Biz uni diapazon obyekti bilan ishlata olmaymiz.
- BeforeDoubleClick hodisasi ma'lumotlarni faqat o'sish tartibida tartiblaydi.
Xulosa
Endi Excelda VBA yordamida diapazonni qanday saralashni bilamiz. Umid qilamanki, bu sizni yanada ishonchli foydalanishga undaydi. Har qanday savol yoki takliflar bo'lsa, ularni quyidagi sharhlar maydoniga qo'yishni unutmang.