Excelda ustunni saralash uchun VBA (4 usul)

  • Buni Baham Ko'Ring
Hugh West

Excelda VBA bilan saralash uchun siz Range.Sort usulini qo'llashingiz kerak. Ushbu maqolada biz Excelda VBA ning Range.Sort usuli bilan ustunni qanday saralashni ko'rsatamiz.

Ishchi kitobini yuklab olish

Bepul amaliyot Excel ish kitobini shu yerdan yuklab olishingiz mumkin.

Ustunni VBA.xlsm yordamida tartiblash

Excelda Range.Sort usuli VBA

Range.Sort usuli VBA da Excelda qiymatlar diapazonini tartiblaydi. Bu yerda Range - bu ob'ekt o'zgaruvchisi bo'lib, biz o'sish yoki kamayish tartibida tartiblashimiz kerak bo'lgan katakchalar diapazonini belgilaydi.

Quyida siz bilishingiz kerak bo'lgan parametrlar keltirilgan. bu usul bilan ishlashda haqida.

Parametr Majburiy/ Majburiy emas Ma'lumotlar turi Ta'rif
Kalit Ixtiyoriy Variant Qiymatlari diapazon yoki ustunni belgilaydi saralanishi kerak.
Buyurtma Ixtiyoriy XlSortOrder Saralash amalga oshiriladigan tartibni belgilaydi.
  • xlO'sish = O'sish tartibida saralash uchun.
  • xlKasayish = Kamayish tartibida saralash.
Sarlavha Ixtiyoriy XlYesNoGuess Birinchi qatorda sarlavhalar bor yoki yoʻqligini aniqlaydi .
  • xlNo = Ustun sarlavhalari bo'lmasa; Standart qiymat.
  • xlHa = Qachonustunlar sarlavhalariga ega.
  • xlGuess = Excelga sarlavhalarni aniqlashga ruxsat berish.

Excelda ustunlarni saralash uchun VBA ni amalga oshirishning 4 ta usullari

Ushbu bo'limda siz sarlavhali va sarlavhasiz bitta ustunni , bir nechta ustunlarni saralashni bilasiz. va sarlavhalarsiz va Excelda bir ustundagi sarlavhani ikki marta bosish orqali saralash qanday .

1. Yagona ustunni sarlavhasiz saralash uchun VBA ni Excelga kiriting

Agar siz Excel ish varaqingizda bitta ustunni VBA kodi bilan saralashni istasangiz, quyidagi amallarni bajaring. quyidagi qadamlar.

Bu bizning ustunimiz bo'lib, uni VBA kodi bilan tartiblaymiz.

Qadamlar:

  • Klaviaturangizda Alt + F11 tugmalarini bosing yoki Dasturchi -> Visual Basic -ni ochish uchun Visual Basic Editor .

  • Qalqib chiquvchi kod oynasida, menyu panelidan , Qo'shish -> Modul .

  • Quyidagi koddan nusxa oling va kod oynasiga joylashtiring.
1477

Sizning kodingiz endi ishga tayyor.

Bu yerda

  • Kalit1:=Range(“B5”) → Belgilangan B5 kodga qaysi ustunni saralash kerakligini bilish uchun.
  • Order1:=xlOscending → Ustunni o'sish tartibida saralash uchun tartibni xlOscending sifatida belgiladi. Agar siz ustunni kamayish tartibida saralashni istasangiz, uning o'rniga xlKasayuvchi deb yozing.
  • Sarlavha:= xlNo →Ustunimizda sarlavha yo'qligi sababli uni xlNo variant bilan belgiladik.

  • F5 tugmasini bosing. klaviaturangizda yoki menyu panelidan Ishga tushirish -> Sub/UserForm ni ishga tushiring. Shuningdek, makrosni ishga tushirish uchun pastki menyu satridagi kichik o'ynash belgisini bosishingiz mumkin.

Siz o'zingizning ustun endi o'sish tartibida tartiblangan .

E'tibor bering, biz bu yerda ma'lumotlar diapazoni qo'lda Range("B5:B15") sifatida belgilaganmiz. ) .

Agar siz qiymatlarni qo'shish yoki o'chirish orqali ma'lumotlarni o'zgartirmoqchi bo'lsangiz, ma'lumotlar to'plamidagi hujayralar asosida avtomatik ravishda yangilanadigan quyidagi kodni qo'llashingiz mumkin.

3411

O'rniga e'tibor bering. diapazonni qo'lda Range(“B5:B15”) orqali aniqlash uchun biz yozdik, Diapazon( “B5”, Range(“B5”). End(xlDown)) .

Bu ustunni ketma-ket toʻldirilgan oxirgi katakka qarab tartiblaydi. Agar bo'sh katakchalar mavjud bo'lsa, ma'lumotlar faqat birinchi bo'sh katakgacha ko'rib chiqiladi.

Ko'proq o'qing: Excelda jadvalni saralash uchun VBA (4 usul)

2. Sarlavhali bitta ustunni saralash uchun VBA makrosini kiriting

Oldingi bo'limda bizda sarlavhasiz bitta ustunli ma'lumotlar to'plami bor edi, ammo hozir bizda a sarlavhali ustun .

Bu safar biz uni VBA makrosi bilan qanday saralashni o'rganamiz.

Qadamlar:

  • Avvalgidek, Visual Basic Editor ni oching Developer yorlig'idan va Insert a Module kod oynasida.
  • Kod oynasida quyidagi koddan nusxa oling va uni joylashtiring.
8214

Sizning kodingiz ishga tayyor.

Bu yerda

  • Key1:=Range(“ B5”) → Kodga qaysi ustunni saralash kerakligini bilish uchun B5 belgilandi.
  • Order1:=xlKasayuvchi → Bu safar biz ustunni saralaymiz. kamayish tartibi shunday tartibni xlKasayuvchi deb belgiladi.
  • Sarlavha:= xlYes → Bizning ustunimiz bu safar sarlavhaga ega bo'lgani uchun biz uni xlYes bilan belgiladik. variant.

  • Ushbu kodni ishga tushiring va siz kamayish tartibida sarlavhali ustunni olasiz. .

Batafsil o'qing: Excelda VBA yordamida ro'yxat qutisini qanday saralash mumkin (to'liq qo'llanma)

Shunga o'xshash o'qishlar:

  • Excelda IP-manzilni qanday saralash mumkin (6 usul)
  • [Yechildi!] Excel saralash ishlamayapti (2 ta yechim)
  • Excelda saralash tugmachasini qanday qo'shish mumkin (7 usul)
  • Sartlash diapazoni e Excelda VBA-dan foydalanish (6 ta misol)
  • Excelda nom bo'yicha qanday saralash mumkin (3 ta misol)

3. Sarlavhali yoki sarlavhasiz bir nechta ustunlarni saralash uchun VBA makrosi

Shuningdek, VBA kodi bilan maʼlumotlar toʻplamidagi bir nechta ustunlarni saralashingiz mumkin.

Qadamlar:

  • Avval ko'rsatilganidek, Dasturchi yorlig'idan Visual Basic Editor -ni oching va Qo'shish a Modul kod oynasida.
  • Kod oynasida quyidagi koddan nusxa oling va uni joylashtiring.
2366

Sizning kodingiz endi ishga tayyor.

Bu yerda,

.SortFields.Add Key:=Range(“B4”), Tartib:=xlOscending

.SortFields.Add Key:=Range(“C4” ”, Tartibi:=xlOssli

Ushbu ikki qator orqali biz Uyacha B4 va C4 bilan bogʻlangan ikkita ustunni saralash uchun belgilaymiz. ularni o'sish tartibida .

Ma'lumotlar to'plamimizda sarlavhalar mavjud bo'lgani uchun biz Header = xlYes ni belgiladik, aks holda biz Header = deb yozgan bo'lardik. xlNo kod ichida.

  • Ushbu kodni bajaring va siz o'sish tartibida sarlavhali ustunlarni olasiz. .

4. Excelda sarlavha ustiga ikki marta bosish orqali ma'lumotlarni saralash uchun makro

Agar siz sarlavha ustiga ikki marta bosish orqali ma'lumotlarni osongina saralashni istasangiz, buni VBA kodi.

Qadamlar:

  • varaq sahifasi da sichqonchaning oʻng tugmasini bosing .
  • Ko'rsatilgan variantlar ro'yxatidan Kodni ko'rish tugmasini bosing.
  • Kod oynasi paydo bo'ladi, quyidagi kodni nusxalang va u erga joylashtiring.
5676
  • Saqlash kod.

  • Endi qiziqqan ish varag'iga qayting va agar siz sarlavhalarni ikki marta bosing ustunlar qayta tashkil etilayotganini ko'rasiz.

Batafsil o'qing: Ma'lumotlarni saralash va filtrlash Excel (to'liq ko'rsatma)

Eslash kerak bo'lgan narsalar

  • Siz nomli diapazon yaratishingiz va uning o'rniga ichidagi bir qator hujayra havolalarini o'tkazganingizda foydalanishingiz mumkin. Saralash usuli. Misol uchun, agar siz A1:A10 diapazonini saralashni istasangiz, uni har safar kod ichida o'tkazish o'rniga, uning nomli diapazonini yaratishingiz mumkin, masalan, “ SortRange ” va undan Range.Sort usuli bilan foydalaning, masalan, Range(“SortRange”) .
  • Agar maʼlumotlar toʻplamida sarlavhalar mavjudligiga ishonchingiz komil boʻlmasa Yo'qmi, tizimga uni xlGuess parametri yordamida aniqlashiga ruxsat berishingiz mumkin.

Xulosa

Ushbu maqola sizga buni qanday qilishni ko'rsatib berdi. ustunni saralash Excel VBA . Umid qilamanki, ushbu maqola siz uchun juda foydali bo'ldi. Mavzu bo'yicha savollaringiz bo'lsa bemalol so'rang.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.