Excel-də sütunları çeşidləmək üçün VBA (4 üsul)

  • Bunu Paylaş
Hugh West

Excel-də VBA ilə çeşidləmək üçün siz Range.Sort metodunu tətbiq etməlisiniz. Bu yazıda biz sizə Excel-də VBA -nin Range.Sort metodu ilə sütunu necə çeşidləyəcəyinizi göstərəcəyik.

İş kitabını endirin

Pulsuz təcrübə Excel iş kitabını buradan yükləyə bilərsiniz.

VBA.xlsm ilə Sütunu çeşidləyin

Excel-də

Range.Sort Method VBA

Range.Sort metodu VBA Excel-də bir sıra dəyərləri çeşidləyir. Burada Range obyekt dəyişənidir və bizim artan və ya azalan qaydada çeşidləmək istədiyimiz xanaların diapazonunu təyin edir.

Aşağıda bilməli olduğunuz parametrlərdir. bu metodla işləyərkən haqqında.

Parametr Tələb olunan/ Könüllü Məlumat Tipi Təsvir
Açar Könüllü Variant Dəyərləri aralığı və ya sütunu təyin edir çeşidlənməlidir.
Sifariş İstəyə görə XlSortOrder Çeşidləmənin aparılacağı sıranı müəyyən edir.
  • xlArtan = Artan qaydada çeşidləmək üçün.
  • xlAzalan = Azalan qaydada çeşidləmək üçün.
Başlıq İstəyə bağlı XlYesNoGuess Birinci cərgədə başlıqların olub-olmadığını müəyyən edir .
  • xlNo = Sütunun başlığı olmadıqda; Defolt dəyər.
  • xlBəli = Nə vaxtsütunların başlıqları var.
  • xlGuess = Excel-ə başlıqları təyin etmək üçün.

Excel-də Sütunları Çeşidləmək üçün VBA-nın Tətbiqində 4 Metod

Bu bölmədə siz başlıqlı və başlıqsız tək sütunu , birdən çox sütunu necə çeşidləməyi öyrənəcəksiniz. və başlıqsız və Excel-də sütundakı başlığa iki dəfə klikləməklə çeşidləmə necə.

1. Excel-də Başlıqsız Tək Sütunu Çeşidləmək üçün VBA-nı yerləşdirin

Excel iş vərəqinizdə VBA kodu ilə tək sütunu çeşidləmək istəyirsinizsə, aşağıdakılara əməl edin. aşağıdakı addımlar.

Bu, VBA kodu ilə çeşidləyəcəyimiz sütunumuzdur.

Addımlar:

  • Klaviaturanızda Alt + F11 düymələrini basın və ya nişana keçin Tərtibatçı -> Visual Basic Redaktoru açmaq üçün Visual Basic .

  • Açılır kod pəncərəsində, menyu çubuğundan , klikləyin Daxil et -> Modul .

  • Aşağıdakı kodu kopyalayın və kod pəncərəsinə yapışdırın.
1233

Kodunuz indi işə hazırdır.

Burada,

  • Açar1:=Range(“B5”) → Göstərilən B5 kodun hansı sütunun çeşidlənməsini bilməsi üçün.
  • Order1:=xlAscending → Sütunu artan qaydada çeşidləmək üçün sıranı xlAscending kimi təyin etdi. Sütunu azalan qaydada çeşidləmək istəyirsinizsə, əvəzinə xlAzalan yazın.
  • Başlıq:= xlNo →Sütunumuzda heç bir başlıq olmadığı üçün onu xlNo seçimi ilə təyin etdik.

  • F5 düyməsini basın. klaviaturanızda və ya menyu çubuğundan Çalış -> Sub/UserForm -u işə salın. Siz həmçinin makronu işə salmaq üçün alt menyu çubuğundakı kiçik Oynatma ikonasına klikləyə bilərsiniz.

Siz görəcəksiniz ki, sütun indi artan qaydada çeşidlənib .

Diqqət yetirin ki, burada məlumat diapazonunu əl ilə Rəzifə("B5:B15" kimi təyin etmişik. ) .

Dəyərlər əlavə etmək və ya silməklə məlumatları dəyişmək istəyirsinizsə, verilənlər bazasındakı xanalar əsasında avtomatik yenilənən aşağıdakı kodu tətbiq edə bilərsiniz.

3761

Bunun əvəzinə diapazonu əl ilə Range(“B5:B15”) ilə müəyyən etmək üçün, biz yazdıq, Range( “B5”, Range(“B5”). End(xlDown)) .

Bu, sütunu ardıcıl olaraq doldurulmuş sonuncu xana əsasında çeşidləyəcək. Boş xanalar varsa, məlumatlar yalnız ilk boş xanaya qədər nəzərə alınacaq.

Daha çox oxuyun: Excel-də Cədvəlin çeşidlənməsi üçün VBA (4 Metod)

2. Başlıqlı Tək Sütunu Çeşidləmək üçün VBA Makronunu daxil edin

Əvvəlki bölmədə başlığı olmayan tək sütundan ibarət verilənlər dəsti var idi, indi isə a var. başlığı olan sütun .

Bu dəfə biz onu VBA makrosu ilə necə çeşidləməyi öyrənəcəyik.

Addımlar:

  • Əvvəlki kimi, Visual Basic Redaktoru açın Developer nişanından və Daxil et a Module kod pəncərəsində.
  • Kod pəncərəsində aşağıdakı kodu kopyalayın və yapışdırın.
2146

Kodunuz indi işə salınmağa hazırdır.

Burada,

  • Açar1:=Range(“ B5”) → Koda hansı sütunun çeşidlənməsini bildirmək üçün B5 təyin olundu.
  • Sifariş1:=xlAzalan → Bu dəfə biz sütunu çeşidləyəcəyik. azalan sıra sıranı xlAzalan olaraq təyin etdi.
  • Başlıq:= xlYes → Sütunumuzda bu dəfə başlıq olduğu üçün biz onu xlYes ilə təyin etdik. seçim.

  • bu kodu çalıştırın və siz azalan qaydada başlıqlı sütunu alacaqsınız .

Ətraflı oxuyun: Excel-də VBA ilə Siyahı qutusunu necə çeşidləmək olar (Tam Bələdçi)

Oxşar oxunuşlar:

  • Excel-də IP ünvanını necə çeşidləmək olar (6 üsul)
  • [Həll olundu!] Excel Sort İşləmir (2 Həll)
  • Excel-də Çeşidləmə Düyməsini Necə Əlavə etməli (7 Metod)
  • Sort Rəngi e Excel-də VBA-dan istifadə (6 Nümunə)
  • Excel-də Ada Görə Çeşidləmə (3 Nümunə)

3. Başlığı olan və ya olmayan birdən çox sütunu çeşidləmək üçün VBA makrosu

Siz həmçinin VBA kodu ilə verilənlər dəstinizdə birdən çox sütunu çeşidləyə bilərsiniz.

Addımlar:

  • Əvvəlcə göstərildiyi kimi, Developer nişanından Visual Basic Redaktoru açın və Daxil edin a Modul kod pəncərəsində.
  • Kod pəncərəsində aşağıdakı kodu kopyalayın və yapışdırın.
5806

Kodunuz indi işə salınmağa hazırdır.

Burada,

.SortFields.Add Key:=Range(“B4”), Order:=xlAscending

.SortFields.Add Key:=Range(“C4” ”), Order:=xlAscending

Bu iki sətirlə biz Cell B4 C4 -ni təyin edirik ki, iki sütunu çeşidləyirik. onları artan qaydada .

Data dəstimizdə başlıqlar olduğu üçün biz Başlıq = xlYes təyin etdik, əks halda Başlıq = yazırdıq. xlNo kodun içərisində.

  • Bu kodu işlədin və siz sütunları artan qaydada sıralanmış başlıqlı alacaqsınız .

4. Excel-də Başlığa iki dəfə klikləməklə verilənləri çeşidləmək üçün makro

Əgər siz məlumatı yalnız başlığa iki dəfə klikləməklə asanlıqla çeşidləmək istəyirsinizsə, bunu VBA kodu.

Addımlar:

  • vərəq nişanında sağ klikləyin .
  • Görünən seçim siyahısından Kodu Bax üzərinə klikləyin.
  • Kod pəncərəsi görünəcək, aşağıdakı kodu kopyalayın və ora yapışdırın.
8558
  • Saxla kodu.

  • İndi maraqlandığınız iş vərəqinə qayıdın və əgər başlıqlara iki dəfə klikləyin sütunların yenidən təşkil edildiyini görəcəksiniz.

Daha çox oxuyun: Məlumatları necə çeşidləmək və filtrləmək olar Excel (Tam Təlimat)

Xatırlamalılar

  • Siz adlandırılmış diapazon yarada və daxilində bir sıra xana istinadlarını ötürərkən onun əvəzinə istifadə edə bilərsiniz. Sort üsulu. Məsələn, A1:A10 diapazonunu çeşidləmək istəyirsinizsə, onu hər dəfə kod daxilində ötürmək əvəzinə, onun “ SortRange<40” kimi adlandırılmış diapazonunu yarada bilərsiniz> ” seçin və onu Range(“SortRange”) kimi Range.Sort metodu ilə istifadə edin.
  • Data dəstinizdə başlıqların olub-olmadığına əmin deyilsinizsə yoxsa, sistemə onu xlGuess parametrindən istifadə etməklə müəyyən etməyə icazə verə bilərsiniz.

Nəticə

Bu məqalə sizə bunu necə edəcəyinizi göstərdi. sütununu çeşidləyin Excel VBA . Ümid edirəm bu məqalə sizin üçün çox faydalı oldu. Mövzu ilə bağlı hər hansı sualınız olarsa, çekinmeyin.

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.