Excel VBA; Cum să vă sortați masa cu VBA; Denis Reis

masa

Această postare face parte din seria VBA Basics.
Sunt deseori întrebat cum să sortez valorile într-un tabel cu VBA. În această postare vă voi arăta cum funcționează folosind două exemple.

Tabelul de ieșire arată vânzările pe oraș.

oraș vânzări
Berlin 362
Hamburg 832
Munchen 290
Koln 901
Frankfurt 335
Stuttgart 987
Dusseldorf 257
Dortmund 470
mânca 867
Leipzig 661

Vrem să sortăm tabelul după vânzări și după numele orașului.

excel

Pentru a face acest lucru, mai întâi creăm o nouă macro.

Mai întâi definim parametrii și determinăm ce zonă ar trebui sortată. Mai întâi vrem să sortăm după vânzări în coloana B.

Pentru a face acest lucru, folosim metoda Sortare, care sortează o gamă de valori. Această metodă are o serie de parametri, dintre care doar câțiva îi vom folosi. O listă completă a tuturor parametrilor poate fi găsită în referința Microsoft VBA.

Vrem să sortăm vânzările din coloana B în ordine crescătoare. Pentru a face acest lucru, trebuie să specificăm primul câmp de sortare în Cheia1; aceasta determină valorile care trebuie sortate. Dacă este necesar, puteți defini mai multe câmpuri de sortare. Câmpul de sortare poate fi transferat fie ca nume de zonă, fie ca obiect de zonă. Alegem proprietatea Range pentru flexibilitate.

În al doilea parametru Order1, determinați ordinea de sortare prin xlAscending (crescător) sau xlDescending (descendent). În plus, informăm Excel prin intermediul parametrului Header că tabelul nostru conține titluri. Dacă utilizați valoarea xlGuess aici, Excel încearcă să vă determine dacă un tabel are sau nu titluri.

Deci, macrocomanda completă arată astfel:

Pe măsură ce rulați macro-ul, acesta este sortat după vânzări:

oraș vânzări
Dusseldorf 257
Munchen 290
Frankfurt 335
Berlin 362
Dortmund 470
Leipzig 661
Hamburg 832
mânca 867
Koln 901
Stuttgart 987

masa

111 macrocomenzi VBA care vă ușurează viața

Vrei să scapi de sarcinile tale de rutină plictisitoare? Doriți să adaptați Excel la nevoile dvs., să automatizați calculele, să creați propriile casete de dialog și multe altele? Această carte vă arată cum să vă faceți sarcinile rapid și ușor cu VBA.

Acum aveți orașele listate după vânzări.

masa

Acum să aranjăm orașele în ordine alfabetică. Introduc un nou parametru. Cu MatchCase puteți stabili dacă trebuie luate în considerare litere mari sau mici.
Pentru noua macro, pur și simplu schimbăm parametrul strColumn și adăugăm MatchCase.

Când rulați macro-ul, tabelul este sortat în ordine crescătoare după oraș.

oraș vânzări
Berlin 362
Dortmund 470
Dusseldorf 257
mânca 867
Frankfurt 335
Hamburg 832
Koln 901
Leipzig 661
Munchen 290
Stuttgart 987

excel

Eșantionul de fișier Excel cu macro-ul gata de utilizare și alte 111+ macro-uri care vă ușurează viața pot fi găsite aici.

Impresionați-vă șeful cu trucuri extraordinare Excel!

  • Nu-i lăsa pe colegii tăi să depindă de tine!
  • Economisiți timp și folosiți-l pentru lucruri mai plăcute
  • Creșteți-vă productivitatea și eficiența
  • Este ușor - în newsletterul meu dau instrucțiuni pas cu pas pe care toată lumea le poate înțelege
  • Când vă înregistrați la newsletter-ul meu, veți primi cartea „Excel Tricks That Impression Your Boss” ca cadou de bun venit.

sortați

Sursa imaginii: Pixabay, Domeniul public CC0

Partajare intrare
S-ar putea să te intereseze și pe tine

excel

excel

masa

excel

masa

masa

mulțumesc pentru explicația dvs. detaliată. Aș putea să-l folosesc super.
Din păcate, am problema că în tabelul meu care coloană include de la A la N și este sortată conform coloanei M, coloana N nu este sortată, ci pur și simplu rămâne.

De aici și întrebarea: Ce înseamnă „1” din această linie de cod:
Key1: = Range (strColumn & "1"), Order1: = xlAscending, _

Multumesc si toate cele bune
Friederike

Întrebarea lui Rike este foarte interesantă. Aș vrea să știu și asta.
Mulțumesc și salutări

Aceasta este o combinație de strColumn, care este „A” în exemplu, și 1 ... deci rezultă celula A1 ... Intervalul & in este un link