Mündəricat
Excel-də VBA-dan istifadə edərək diapazonu necə çeşidləməyi bilmək gündəlik hesablamalarımızda vaxta və səylərə qənaət edir. Baxmayaraq ki, Excel standart olaraq çeşidləmə imkanını təmin edir. Range.Sort metod istifadə edərək, biz həmişəkindən daha çox seçimlə verilənlər toplusunu çeşidləmək üçün bir neçə parametrə giriş əldə edirik.
Təcrübə İş Kitabını endirin
Bu məqaləni oxuyarkən məşq etmək üçün bu məşq kitabını endirin.
Excel.xlsm-də Aralığı çeşidləyin
Excel VBA-da Range.Sort bəyanatına giriş
Məqsəd : Hüceyrə məlumatlarını çeşidləmək.
Sintaksis:
ifadə .Sort ( Açar1 , Sifariş1 , Açar2 , Növ , Sifariş2 , Açar3 , Sifariş , Başlıq , Sifariş Xüsusi , MatchCase , Orientation , SortMethod , DataOption1 , DataOption2 , DataOption3 )
Burada ifadəsi Range obyektini, yəni xana, sətir, sütun və ya xana seçimini təmsil edir.
Arqumentlər:
Range.Sort metodu üçün üç əsas parametr təqdim etməliyik. Onlar-
Açar – Çeşidləməmiz lazım olan tək və ya çoxlu sütunlardan olan xanaların diapazonu.
Sifariş – Çeşidləmə qaydasını ya da müəyyən edin artan və ya azalan.
Başlıq – Çeşidlənəcək sütunların başlığının olub-olmadığını bildirin.
Excel VBA-da Aralığı çeşidləmək üçün 6 nümunə
İçBu məqalə, verilənlər bazası olaraq, doğum tarixi və yaşları ilə insanların adlarının siyahısından istifadə edəcəyik. Məlumat dəstini çeşidləmək üçün müxtəlif üsullardan istifadə edəcəyik. Məqaləni keçək və bu üsulları mənimsəmək üçün məşq edək.
1. Excel VBA-dan istifadə edərək Tək Sütun diapazonunu çeşidləyin
Bu nümunədə biz ən yaşlı dən kiçiyə qədər insanları çeşidləyəcəyik . Gəlin Rəsmi istifadə etmək üçün addımları izləyək. Sort metod bu çeşidləmə Yaş sütunu >azalan qaydada .
Addımlar:
- Excel lentində Developer Tab keçin> üçün Visual Basic-də klikləyin
- Sonra Modul seçimini seçin Yeni modulu açmaq üçün Daxil et -dən.
İndi kodumuzu bu yerə qoyacağıq. Yaş sütun diapazonunu çeşidləyin .
1.1 Başlıqlı Sütun
Aşağıdakı kodu vizual kod redaktoruna qoyun.
1209
F5 basın və ya Çalışdırın düyməsinə klikləyin kodu icra edin.
İzahat:
Yuxarıdakı kodda biz-
İfadə (Range obyekti)=Range("D4:D11"); yaş sütunu başlığı D4 xanasında və dəyərləri D5:D11.
Açar = Aralıq (“D4”); çeşidləmə üçün düymə.
Sifariş= xlAzalan; dəyərləri ən böyük dən ən aşağıya çeşidləmək istədiyimiz kimi biz çeşidləmə qaydasını təyin edirik azalan kimi.
Başlıq =xlYes; Aşağıdakı skrinşotda biz verilənlər toplusunun a malik olduğunu görə bilərik. başlıq sütunların hər biri üçün.
1.2 Başlıqsız sütun
Aşağıdakıları qoyun vizual kod redaktorunda kod.
1779
F5 basın və ya İcra kodu yerinə yetirmək üçün Çalışdır düyməsini basın.
İzahat:
Yuxarıdakı kodda biz-
İfadə (Range obyekti)=Range(“D4 :D10”); yaş sütunu başlığı olmayan D4:D10-da dəyərləri var.
Açar = Aralıq (“D4”); çeşidləmə üçün düymə.
Sifariş= xlAzalan; dəyərləri ən böyük dən ən aşağıya çeşidləmək istədiyimiz üçün çeşidləmə sırasını azalan kimi təyin edirik.
Başlıq =xlNo; Aşağıdakı skrinşotda biz görə bilərik ki, verilənlər bazası də başlıq yoxdur.
Əlaqədar Məzmun: Məlumatları qarışdırmadan Excel-də sütunları necə çeşidləmək olar (3 üsul)
2. Excel-də Çoxsaylı Sütun Aralığını Çeşidləmək üçün VBA Kodundan istifadə
birdən çox sütunda çeşidlənməsini göstərmək üçün biz dəyişiklik etməliyik 1>dataset bir az. Biz daxil etdik bir neçə yeni sətir . Dəyişdirilmiş datasetdə 7, 8, və 9 sətirləri doğum tarixi və yaşlar üçün eyni dəyərlərə malikdir lakin üç fərqli ad . Bu adlar heç bir xüsusi ardıcıllıqla deyil artan və ya azalan.
Bu nümunədə biz adları artan qaydada sıralayacağıq. Vizual əsas redaktorda aşağıdakı kodu işlədək:
4902
İzahat:
Yuxarıda skrinşotda biz görə bilərik ki, sütun D dəki yaşlar azalan sıra ilə sıralanır. Biz əvvəlki kodumuza daha iki parametr əlavə etdik.
Açar2: =Range(“B4”) , adları çeşidləmək üçün açar.
Order2: =xlAscending , sifariş qısaltma adları üçün.
Nəticədə biz adları də görürük. 7, 8 və 9 sətirləri indi əlifba sırası ilə artan ardıcıllıqla sıralanıb.
Aşağıdakı ekran görüntüsündə biz -i dəyişdik Sifariş2 parametrinin dəyərini adları azalan sıra ilə çeşidləmək etmək.
Ətraflı oxuyun: Excel-də birdən çox sütunu necə çeşidləmək olar (5 sürətli yanaşma)
3. Excel VBA-da Sütun diapazonunu çeşidləmək üçün başlığa iki dəfə klikləyin
Excel-in defolt çeşidləmə xüsusiyyəti sütunun qiymətlərini <1 ilə çeşidləməyə imkan vermir>iki dəfə klikləmək sütun başlığına . Lakin VBA kodundan istifadə edərək biz bunu həyata keçirə bilərik. Gəlin bu funksiyanı aşağıdakı kodu tətbiq etməklə təsvir edək.
3602
Bu kodda biz Adi ikiqat – klikliyi deaktiv etmək üçün BeforeDoubleClick hadisəsindən istifadə etdik> xananın redaktə rejiminə başlamaq üçündür. Bu hadisə iləçalışan, əgər biz sütun başlıqlarından hər hansı birini ikiqat – kliksək bu, sütun məlumatlarını artan qaydada çeşidləyir.
Ətraflı oxuyun: Excel-də Sütunları Çeşidləmək üçün VBA (4 Metod)
Oxşar Oxumalar:
- Excel-də Çeşidləmə Düyməsini Necə Əlavə etməli (7 Metod)
- Excel-də Unikal Siyahı Sırala (10 Faydalı Metod)
- Necə Excel VBA-da Çeşidləmə funksiyasından istifadə etmək (8 Uyğun Nümunə)
- Excel-də Dublikatları çeşidləyin (sütunlar və sətirlər)
- Excel-də təsadüfi çeşidləmə ( Düsturlar + VBA)
4. Excel VBA-dan istifadə edərək Fon Rənginə əsasən Sütun diapazonunu çeşidləyin
Biz sütundakı bir sıra xanaları əsaslı onların fon rənginə görə çeşidləyə bilərik . Bunun üçün biz xlSortOnCellColor dəyərinə malik olan SortOn adlı a parametr əlavə etməliyik. Çeşidləməni nümayiş etdirmək üçün biz əvvəlcə verilənlər dəstimizin sıralarına müxtəlif fon rəngləri qoyuruq.
Sonra vizual əsasda kod redaktoru kopyalayın aşağıdakı kodu kopyalayın və onu işə salmaq üçün F5 düyməsini basın.
4273
Aşağıdakı ekran görüntüsündə biz çeşidlənmiş verilənlər toplusunu əsaslandıra bilərik. onların fon rəngində.
İzahat:
- Bu misalda biz iş vərəqini <2 adlandırdıq>“ fon ”. Beləliklə, kodda biz aktiv iş səhifəmizin adı kimi “ fon ” qoyuruq.
- Biz B4 açar kimi təyin edirik. və B4:D10 kimi aralıq . Kod məlumatları açar əsasında çeşidləyəcək.
- Biz başlıq parametrini təyin etmədiyimiz üçün kod defolt başlıq yoxdur.
- Biz sifariş parametrini artan olaraq təyin etdik, buna görə də o, verilənləri aşağıdan yuxarıya doğru çeşidlədi .
Ətraflı oxuyun: Excel-də Rəngə görə necə çeşidləmək olar (4 meyar)
5. Şrift Rənginə Görə Sütun Aralığını Çeşidləmək üçün VBA Kodunu Tətbiq edin
VBA kodunu tətbiq etməklə biz verilənlər bazamızı onların şrift rənginə əsasən çeşidləyə bilərik. Əvvəlcə nümunəni göstərmək üçün müxtəlif cərgələri rəngləməliyik.
Data dəstini şrift rənginə əsasən çeşidləmək üçün aşağıdakı kodu tətbiq edin.
9589
İzahat:
- Bunda Məsələn, biz iş vərəqini “ fontcolor ” adlandırdıq. Beləliklə, kodda biz “ şrift rəngi ”ni aktiv iş səhifəmizin adı kimi qoyuruq.
- Biz B4 açarı kimi təyin edirik. və B4:D11 aralıq kimi. Kod məlumatları açar əsasında çeşidləyəcək.
- Bu misalda biz başlıq parametrini də xlYes olaraq təyin etdik.
- Burada biz sifarişi təyin etdik. parametri artan, buna görə də o, verilənləri aşağıdan yuxarı qiymətlərə çeşidlədi .
- SortOn parametrinin dəyəri
- oriyentasiya parametri məcburi olduğu üçün xlTopToBottom qiymətini saxlayır.
- Rəng Rəng RGB terminlərindədir. dəyəri var 0 -dən 255 -ə qədər.
Ətraflı oxuyun: Uyğunlaşmaq üçün Excel-də iki sütunu necə çeşidləmək olar (hər ikisi dəqiqdir) və Qismən Uyğunluq)
6. Excel VBA-dan istifadə edərək Oriyentasiyanı Çeşidləmə Aralığına Dəyişin
orientation parametrindən istifadə edərək biz verilənləri çeşidləmək istədiyimiz üsulu dəyişə bilərik. Bu misalda biz verilənlər toplusumuzu üfüqi olaraq çeşidləmək üçün köçürdük.
Gəlin vizual əsas redaktorda aşağıdakı kodu daxil edin və onu işə salmaq üçün F5 düyməsini basın.
9032
Burada biz məlumatları yaş sırasına əsasən çeşidlədik artan sifarişlə soldan sağa . Kodda biz orientation parametrini xlSortRows olaraq təyin etdik.
Əlaqədar Məzmun: Excel-də Çox Sütunları Avtomatik Çeşidləmək (3 yol)
Yadda saxlanmalı olanlar
- Əvəz etdiyimiz SortOn parametri çeşidləmə fon rəngi və şrift rəngi əsasında sütun diapazonu yalnız iş səhifəsi obyekti tərəfindən istifadə edilə bilər. Biz onu aralıq obyekti ilə istifadə edə bilmərik.
- BeforeDoubleClick hadisəsi məlumatı yalnız artan qaydada çeşidləyir.
Nəticə
İndi biz Excel-də VBA-dan istifadə edərək diapazonun necə çeşidlənməsini bilirik. Ümid edirəm ki, bu, sizi bundan daha inamla istifadə etməyə təşviq edər. Hər hansı bir sualınız və ya təklifiniz varsa, onları aşağıdakı şərh qutusuna yazmağı unutmayın.