Excel VBA; Како да ја сортирате вашата маса со VBA; Денис Реис

Овој пост е дел од серијата Основи на ВБА.
Често ме прашуваат како да ги сортирам вредностите во табела со VBA. Во овој пост ќе ви покажам како работи, користејќи два примери.
Излезната табела ја прикажува продажбата по град.
| град | продажба |
| Берлин | 362 |
| Хамбург | 832 година |
| Минхен | 290 |
| Келн | 901 година |
| Франкфурт | 335 година |
| Штутгарт | 987 година |
| Дизелдорф | 257 |
| Дортмунд | 470 година |
| јаде | 867 година |
| Лајпциг | 661 година |
Ние сакаме да ја сортираме табелата според продажбата и според името на градот.

За да го направите ова, прво создаваме нова макро.
Прво ги дефинираме параметрите и утврдуваме која област треба да се сортира. Прво сакаме да сортираме според продажбата во колоната Б.
За да го направите ова, ние го користиме методот Сортирај, кој сортира опсег на вредности. Овој метод има голем број параметри, само неколку кои ќе ги користиме. Комплетен список на сите параметри може да се најде во референцата на Microsoft VBA.
Ние сакаме да ја подредиме продажбата во колоната Б по растечки редослед. За да го направите ова, ние треба да го одредиме првото поле за сортирање во Key1; ова ги одредува вредностите што треба да се сортираат. Доколку е потребно, можете да дефинирате и неколку полиња за сортирање. Полето за сортирање може да се пренесе или како име на опсег или како опсег на опсег. Го избираме својството Опсег за флексибилност.
Во вториот параметар Ред 1 го одредувате редоследот на сортирање преку xlAscending (растечки) или xlDescending (опаѓачки). Покрај тоа, ние му кажуваме на Excel преку параметарот Header дека нашата табела содржи наслови. Ако ја користите вредноста xlGuess тука, Excel се обидува да утврди дали табелата има наслови или не.
Значи, целосното макро изгледа вака:
Како се извршува макро-сортиран е според продажбата:
| град | продажба |
| Дизелдорф | 257 |
| Минхен | 290 |
| Франкфурт | 335 година |
| Берлин | 362 |
| Дортмунд | 470 година |
| Лајпциг | 661 година |
| Хамбург | 832 година |
| јаде | 867 година |
| Келн | 901 година |
| Штутгарт | 987 година |

111 VBA макроа кои ви го олеснуваат животот
Дали сакате да се ослободите од вашите здодевни рутински задачи? Дали сакате да го прилагодите Excel за вашите потреби, да ги автоматизирате пресметките, да создадете свои дијалог-кутии и многу повеќе? Оваа книга ви покажува како да ги извршувате своите задачи брзо и лесно со VBA.
Сега ги имате градовите наведени според продажбата.

Сега да ги организираме градовите по азбучен ред. Воведувам нов параметар. Со MatchCase можете да одредите дали треба да се земат предвид големи или мали букви.
За новата макро, едноставно го менуваме параметарот strColumn и додаваме MatchCase.
Кога извршувате макро, табелата е подредена по растечки редослед по град.
| град | продажба |
| Берлин | 362 |
| Дортмунд | 470 година |
| Дизелдорф | 257 |
| јаде | 867 година |
| Франкфурт | 335 година |
| Хамбург | 832 година |
| Келн | 901 година |
| Лајпциг | 661 година |
| Минхен | 290 |
| Штутгарт | 987 година |

Примерната датотека Excel со подготвена за употреба макро и 111+ други макроа што ви го олеснуваат животот може да ја најдете овде.
Импресионирајте го вашиот шеф со кул Excel трикови!
- Не дозволувајте соработниците да зависат од вас!
- Заштедете време и искористете го за попријатни работи
- Зголемете ја вашата продуктивност и ефикасност
- Лесно е - во мојот билтен давам чекор-по-чекор инструкции што секој може да ги разбере
- Кога ќе се регистрирате за мојот билтен, ќе ја добиете книгата „Трикови со Excel што го импресионираат вашиот шеф“ како подарок за добредојде.

Извор на слика: Јавен домен Pixabay, CC0
Сподели го записот
Можеби ќе ве интересира тоа






благодарам за деталното објаснување. Можев да го користам супер.
За жал, имам проблем што во мојата табела која колона вклучува А до Н и е подредена според колоната М, колоната Н не е подредена, туку едноставно останува.
Оттука, прашањето: Што значи „1“ во оваа линија на код:
Клуч1: = Опсег (strColumn & "1"), Ред1: = xlAscending, _
Ви благодариме и со почит
Фридерике
Прашањето на Рике е многу интересно. И јас би сакал да го знам тоа.
Благодарам и поздрав
Ова е комбинација на strColumn, што е „А“ во примерот, и 1 ... така што ова резултира во ќелијата A1 ... & во опсегот е врска