Satura rādītājs
Šķirošana programmā Excel, izmantojot VBA , jums ir jāpiemēro Range.Sort Šajā rakstā mēs parādīsim, kā sakārtot kolonnu programmā Excel ar Range.Sort metode VBA .
Lejupielādēt darba burtnīcu
No šejienes varat lejupielādēt bezmaksas praktisko Excel darba burtnīcu.
Kārtot kolonnu ar VBA.xlsm
Range.Sort metode programmā Excel VBA
Range.Sort metode VBA Excel programmā sakārto vērtību diapazonu. Šeit Diapazons ir objekta mainīgais, kas norāda šūnu diapazonu, kuru vēlamies atlasīt. sakārtot augošā vai dilstošā secībā.
Zemāk ir norādīti parametri, kas jums jāzina, strādājot ar šo metodi.
Parametrs | Obligāti/pēc izvēles | Datu tips | Apraksts |
---|---|---|---|
Galvenais | Pēc izvēles | Variants | Norāda diapazonu vai kolonnu, kuras vērtības ir šķirojamas. |
Pasūtījums | Pēc izvēles | XlSortOrder | Norāda, kādā secībā tiks veikta šķirošana.
|
Virsraksts | Pēc izvēles | XlYesNoGuess | Norāda, vai pirmajā rindā ir vai nav galvenes.
|
4 metodes, īstenojot VBA, lai šķirotu kolonnu programmā Excel
Šajā sadaļā uzzināsiet, kā sakārtot vienu kolonnu ar un bez galvenes. , vairākas kolonnas ar un bez galvenēm un kā šķirot, divreiz noklikšķinot uz kolonnas galvenes. programmā Excel.
1. Iebūvējiet VBA, lai Excel programmā sakārtotu vienu kolonnu bez galvenes
Ja vēlaties sakārtot vienu kolonnu savā Excel darblapā ar VBA pēc tam izpildiet tālāk norādītās darbības.
Šī ir mūsu sleja, kuru mēs šķirosim, izmantojot VBA kods.
Soļi:
- Preses Alt + F11 uz tastatūras vai atveriet cilni Izstrādātājs -> Visual Basic lai atvērtu Visual Basic redaktors .
- Iznirstošajā koda logā izvēlnes joslā noklikšķiniet uz Ievietot -> Modulis .
- Nokopējiet un ielīmējiet kodu logā šādu kodu.
Sub SortSingleColumnWithoutoutHeader() Range("B5:B15").Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub
Tagad jūsu kods ir gatavs darbam.
Šeit,
- Atslēga1:=Range("B5") → Norādīts B5 lai kods zinātu, kuru kolonnu šķirot.
- Order1:=xlAscending → Norādīts pasūtījums kā xlAcending lai sakārtotu kolonnu augošā secībā. Ja kolonnu vēlaties sakārtot dilstošā secībā, rakstiet xlSamazinoši tā vietā.
- Header:= xlNo → Tā kā mūsu kolonnai nav nevienas galvenes, mēs to norādījām ar xlNo iespēja.
- Preses F5 uz tastatūras vai izvēlnes joslā izvēlieties Run -> Run Sub/UserForm Varat arī vienkārši noklikšķināt uz maza ikona Atskaņot apakšizvēlnes joslā, lai palaistu makro.
Redzēsiet, ka jūsu slejā tagad ir sakārtoti augošā secībā .
Ievērojiet, ka šeit datu diapazons ir definēts manuāli kā Diapazons("B5:B15") .
Ja vēlaties mainīt datus, pievienojot vai dzēšot vērtības, varat izmantot šādu kodu, kas automātiski atjaunina datus, pamatojoties uz datu kopas šūnām.
Sub SortSingleColumnWithithoutHeader() Range("B5", Range("B5").End(xlDown)).Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub
Ievērojiet, ka tā vietā, lai manuāli definētu diapazonu ar Diapazons("B5:B15") , mēs esam rakstījuši, Diapazons( "B5", Range("B5"). End(xlDown)) .
Tādējādi kolonna tiks sakārtota pēc pēdējās secīgi aizpildītās šūnas. Ja ir tukšas šūnas, dati tiks ņemti vērā tikai līdz pirmajai tukšajai šūnai.
Lasīt vairāk: VBA, lai šķirotu tabulu programmā Excel (4 metodes)
2. Ievietojiet VBA makrokonsoli, lai šķirotu vienu sleju ar galveni
Iepriekšējā sadaļā mums bija datu kopa ar vienu kolonnu bez galvenes, bet tagad mums ir a sleja ar virsrakstu .
Šoreiz mēs uzzināsim, kā to šķirot ar VBA makro .
Soļi:
- Tāpat kā iepriekš, atveriet Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
- Koda logā nokopējiet un ielīmējiet šādu kodu.
Sub SortSingleColumnWithHeader() Range("B5:B16").Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlYes End Sub
Tagad jūsu kods ir gatavs darbam.
Šeit,
- Atslēga1:=Range("B5") → Norādīts B5 lai kods zinātu, kuru kolonnu šķirot.
- Order1:=xlDescending → Šoreiz mēs sakārtosim kolonnu dilstošā secībā, tāpēc norādīja secību kā xlSamazinoši .
- Header:= xlYes → Tā kā mūsu kolonnai šoreiz ir galvene, mēs to norādījām ar xlYes iespēja.
- Palaist šo kodu, un jūs saņemsiet slejā ar galveni, kas sakārtota dilstošā secībā. .
Lasīt vairāk: Kā sakārtot ListBox ar VBA programmā Excel (pilnīga rokasgrāmata)
Līdzīgi lasījumi:
- Kā sakārtot IP adresi programmā Excel (6 metodes)
- [Atrisināts!] Excel šķirošana nedarbojas (2 risinājumi)
- Kā pievienot šķirošanas pogu programmā Excel (7 metodes)
- Kārtot diapazonu, izmantojot VBA programmā Excel (6 piemēri)
- Kā Excel programmā Atlasīt pēc nosaukuma (3 piemēri)
3. VBA makro programma vairāku kolonnu šķirošanai ar vai bez galvenes
Varat arī sakārtot vairākas datu kopas kolonnas, izmantojot VBA kodu.
Soļi:
- Kā jau iepriekš norādīts, atvērtā Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
- Koda logā nokopējiet un ielīmējiet šādu kodu.
Sub SortMultipleColumnsWithHeaders() With ActiveSheet.Sort .SortFields.Add Key:=Range("B4"), Order:=xlAscending .SortFields.Add Key:=Range("C4"), Order:=xlAscending .SetRange Range("B4:D15") .Header = xlYes .Apply End With End Sub
Tagad jūsu kods ir gatavs darbam.
Šeit,
.SortFields.Add Key:=Range("B4"), Order:=xlAscending
.SortFields.Add Key:=Range("C4"), Order:=xlAscending
Ar šīm divām rindiņām mēs definējam Šūna B4 un C4 šķirot ar tiem saistītas divas kolonnas. vietnē augošā secībā .
Tā kā mūsu datu kopā ir galvenes, mēs norādījām. Header = xlYes , citādi mēs būtu rakstījuši Header = xlNo koda iekšpusē.
- Palaist šo kodu, un jūs saņemsiet slejas ar virsrakstu, kas sakārtotas augošā secībā. .
4. Makrogramma datu šķirošanai, divreiz noklikšķinot uz galvenes programmā Excel
Ja vēlaties ērti šķirot datus tikai pēc dubultklikšķinot uz galvenes , to var izdarīt ar VBA kods.
Soļi:
- Ar peles labo pogu noklikšķiniet uz par lapas cilne .
- Parādītajā opciju sarakstā noklikšķiniet uz Skatīt kodu .
- Parādīsies koda logs, nokopējiet un ielīmējiet tajā šādu kodu.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim iRange As Range Dim iCount As Integer iCount = Range("B4:D15").Columns.Count Cancel = False If Target.Row = 4 And Target.Column <= iCount Then Cancel = True Set iRange = Range(Target.Address) Range("B4:D15").Sort Key1:=iRange, Header:=xlYes End If End Sub
- Saglabāt kodu.
- Tagad atgriezieties pie interesējošās darblapas un, ja jūs divreiz noklikšķiniet uz virsrakstiem redzēsiet, ka kolonnas tiek reorganizētas.
Lasīt vairāk: Kā šķirot un filtrēt datus programmā Excel (pilnīgas vadlīnijas)
Lietas, kas jāatceras
- Varat izveidot nosauktu diapazonu un tā vietā to izmantot, kad nododat šūnu atsauču diapazonu iekšpusē Atlasīt Piemēram, ja vēlaties sakārtot diapazonu A1:A10 , tā vietā, lai to katru reizi nodotu koda iekšienē, varat izveidot tā nosauktu diapazonu, piemēram, " SortRange " un izmantot to kopā ar Range.Sort metodi, piemēram. Range("SortRange") .
- Ja neesat pārliecināts, vai jūsu datu kopai ir vai nav galvenes, varat ļaut sistēmai to noteikt, izmantojot komandu xlUzzināt parametrs.
Secinājums
Šajā rakstā tika parādīts, kā sakārtot kolonnu programmā Excel VBA . es ceru, ka šis raksts jums ir bijis ļoti noderīgs. Ja jums ir kādi jautājumi par šo tēmu, droši jautājiet.