VBA за сортирање колона во Excel (4 методи)

  • Споделете Го Ова
Hugh West

За подредување во Excel со VBA , треба да го примените методот Range.Sort . Во оваа статија, ќе ви покажеме како да ја сортирате колоната во Excel со методот Range.Sort на VBA .

Преземете ја работната книга

Можете да ја преземете работната книга за бесплатна пракса Excel од овде.

Подреди колона со VBA.xlsm

Range.Sort Method во Excel VBA

Range.Sort методот во VBA сортира опсег на вредности во Excel. Овде Опсег е предметна променлива која го одредува опсегот на ќелиите што сакаме да ги сортираме по растечки или опаѓачки редослед.

Подолу се параметрите што треба да ги знаете за додека работите со овој метод.

Параметар Потребен/ Изборен Тип на податоци Опис
Клуч Изборен Варијанта Го одредува опсегот или колоната чии вредности треба да се подредат.
Нарачка Изборно XlSortOrder Го одредува редоследот по кој ќе се врши сортирањето.
  • xlРастечки = За подредување по растечки редослед.
  • xlОпаѓачки = За подредување по опаѓачки редослед.
Заглавие Изборно XlYesNoGuess Одредува дали првиот ред содржи заглавија или не .
  • xlNo = Кога колоната нема заглавија; Стандардна вредност.
  • xlYes = Когаколоните имаат заглавија.
  • xlGuess = За да дозволите Excel да ги одреди заглавијата.

4 методи во имплементација на VBA за сортирање колона во Excel

Во овој дел, ќе знаете како да сортирате една колона со и без заглавие , повеќе колони со и без заглавија и како да сортирате само со двоен клик на заглавјето во колона во Excel.

1. Вметнете VBA за да подредите една колона без заглавие во Excel

Ако сакате да сортирате една колона во работниот лист на Excel со код VBA , тогаш следете ја чекори подолу.

Ова е нашата колона што ќе ја подредиме со VBA код.

Чекори:

  • Притиснете Alt + F11 на тастатурата или одете во картичката Програмер -> Visual Basic за да се отвори Visual Basic Editor .

  • Во скокачкиот прозорец со код, од лентата со мени , кликнете Вметни -> Модул .

  • Копирајте го следниов код и залепете го во прозорецот за код.
1411

Вашиот код сега е подготвен за извршување.

Тука,

  • Key1:=Range(„B5“) → Назначено B5 за кодот да знае која колона да ја подреди.
  • Rerder1:=xlAscending → Одреди го редоследот како xlAscending за да ја подреди колоната во растечки редослед. Ако сакате да ја подредите колоната по опаѓачки редослед, тогаш напишете xlОпаѓачки наместо тоа.
  • Header:= xlNo →Бидејќи нашата колона нема заглавие, затоа ја наведовме со опцијата xlNo .

  • Притиснете F5 на тастатурата или од лентата со мени изберете Стартувај -> Стартувај Sub/UserForm . Можете исто така само да кликнете на мала икона Play во лентата под-мени за да го извршите макрото.

Ќе видите дека вашата колоната сега е подредена по растечки редослед .

Забележете дека овде рачно го дефиниравме опсегот на податоци како Опсег („B5:B15“ ) .

Ако сакате да ги промените податоците со додавање или бришење вредности, можете да го имплементирате следниов код кој автоматски се ажурира врз основа на ќелиите во базата на податоци.

5679

Забележете дека наместо тоа за рачно дефинирање опсег со Опсег(„B5:B15“) , напишавме, Опсег ( „B5“, Опсег(„B5“). End(xlDown)) .

Ова ќе ја подреди колоната врз основа на последната последователна пополнета ќелија во неа. Ако има празни ќелии, податоците ќе се земат предвид само до првата празна ќелија.

Прочитајте повеќе: VBA за сортирање табела во Excel (4 методи)

2. Вметнете VBA макро за подредување единечна колона со заглавие

Во претходниот дел, имавме база на податоци од една колона без заглавие, но сега имаме a колона со заглавие .

Овој пат ќе научиме како да ја сортираме со VBA макро .

Чекори:

  • Исто како и претходно, отворете Visual Basic Editor од табулаторот Програмер и Вметнете Модул во прозорецот со код.
  • Во прозорецот со код, копирајте го следниов код и залепете го.
5907

Вашиот код сега е подготвен за извршување.

Тука,

  • Key1:=Range(“ B5“) → Наведено B5 за да му дадеме до знаење на кодот која колона да ја подреди.
  • Rerder1:=xlОпаѓачки → Овој пат ќе ја подредиме колоната во опаѓачки редослед го наведов така наведениот редослед како xlОпаѓачки .
  • Заглавие:= xlYes → Бидејќи нашата колона овојпат има заглавие, така го наведовме со xlYes опција.

  • Изврши овој код и ќе ја добиете колоната со заглавие подредено во опаѓачки редослед .

Прочитајте повеќе: Како да го подредите ListBox со VBA во Excel (целосен водич)

Слични читања:

  • Како да се подреди IP адресата во Excel (6 методи)
  • [Решено!] Сортирањето на Excel не работи (2 решенија)
  • Како да додадете копче за сортирање во Excel (7 методи)
  • Ранг за сортирање e Користење VBA во Excel (6 примери)
  • Како да подредите по име во Excel (3 примери)

3. VBA макро за подредување повеќе колони со или без заглавие

Можете и да сортирате повеќе колони во вашата база на податоци со VBA код.

Чекори:

  • Како што беше прикажано претходно, отворете го Visual Basic Editor од картичката Developer и Вметни а Модул во прозорецот со код.
  • Во прозорецот со код, копирајте го следниов код и залепете го.
5508

Вашиот код сега е подготвен за извршување.

Тука,

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

.SortFields.Add Key:=Range(“C4 ”), Ред:=xlАсцендент

Со овие две линии, дефинираме Ќелија B4 и C4 за да ги подредиме двете колони поврзани со нив во растечки редослед .

Како што имаме заглавија во нашата база на податоци, така наведовме Header = xlYes , инаку би напишале Header = xlНе внатре во кодот.

  • Изврши овој код и ќе ги добиете колоните со заглавие подредени во растечки редослед .

4. Макро за подредување податоци со двоен клик на заглавието во Excel

Ако сакате лесно да ги сортирате податоците само со двоен клик на заглавието , можете да го направите тоа со VBA код.

Чекори:

  • Десен-клик на картичката лист .
  • Од списокот со опции што се појави, кликнете Погледнете го кодот .
  • Ќе се појави прозорецот со кодот, копирајте го следниот код и залепете го таму.
9663
  • Зачувај кодот.

  • Сега вратете се на работниот лист од интерес и ако двоен клик на заглавијата ќе видите како колоните се реорганизираат.

Прочитајте повеќе: Како да ги сортирате и филтрирате податоците во Excel (целосно упатство)

Работи што треба да се запаметат

  • Можете да креирате именуван опсег и наместо тоа да го користите кога ќе префрлите опсег на референци на ќелии во Подреди метод. На пример, ако сакате да го подредите опсегот A1:A10 , наместо да го пренесувате секој пат во кодот, можете да креирате именуван опсег од него, како што е „ SortRange “ и користете го со методот Range.Sort како Range(„SortRange“) .
  • Ако не сте сигурни дали вашата база на податоци има заглавија или не, можете да му дозволите на системот да го одреди со користење на параметарот xlGuess .

Заклучок

Оваа статија ви покажа како да сортирајте ја колоната во Excel VBA . Се надевам дека овој напис беше многу корисен за вас. Слободно прашајте дали имате прашања во врска со темата.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.