Jos työskentelet monien Excel -laskentataulukoiden kanssa, tiedät, että sen hallinnasta voi tulla ongelma.
Kun sinulla on enemmän kuin pari laskentataulukkoa, sinun on järjestettävä ne manuaalisesti.
Kuinka helppoa olisi, jos olisi ollut tapa lajitella laskentataulukot nopeasti Excelissä.
Vaikka tähän ei ole sisäänrakennettua ominaisuustapaa, se voidaan tehdä (helposti) VBA: n avulla.
Tässä opetusohjelmassa annan sinulle koodin ja tarkat vaiheet, joita sinun on noudatettava Excel -laskentataulukoiden lajittelemiseksi.
Voit säätää laskentataulukoita nousevassa tai laskevassa järjestyksessä säätämällä koodia.
VBA -koodi Excel -laskentataulukoiden lajitteluun
Alla on koodi, joka lajittelee laskentataulukot aakkosjärjestykseen heti, kun suoritat sen.
Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount kokonaislukuna, i kokonaislukuna, j kokonaislukuna ShCount = Sheets.Count For i = 1 To ShCount - 1 For j = i + 1 ShCount If UCase (Sheets (j). Nimi) <UCase (Sheets (i) .Name) Sitten Sheets (j) .Move before: = Sheets (i) End If Next j Next i Application.ScreenUpdating = True End Sub
Yllä oleva on yksinkertainen koodi, joka käyttää For Next -silmukoihin kunkin laskentataulukon analysointia kaikkien laskentataulukoiden perusteella.
Se vertaa laskentataulukon nimeä kaikkiin laskentataulukoihin ja siirtää sen nimen perusteella aakkosjärjestyksessä.
Sitten se siirtyy seuraavaan laskentataulukkoon ja tarkistaa sen kaikkien laskentataulukoiden suhteen.
Tämä prosessi toistetaan kaikille laskentataulukoille ja lopputulos on laskentataulukon järjestys aakkosjärjestyksessä.
Muutama tärkeä tieto tästä koodista:
- UCase -toiminnolla varmistetaan, että pieniä ja isoja kirjaimia ei käsitellä eri tavalla.
- Application.ScreenUpdating -arvon arvoksi on asetettu False koodin alussa ja muutettu True -arvoksi koodin lopussa. Tämä varmistaa, että kun koodi on käynnissä, et näe sitä tapahtuvan näytöllä. Tämä auttaa myös nopeuttamaan koodin suorittamista.
Jos haluat lajitella laskentataulukot laskevassa järjestyksessä, sinun tarvitsee vain muuttaa (suurempi kuin) -merkkiä.
Alla oleva koodi lajittelisi laskentataulukot laskevaan järjestykseen:
'Tämä koodi lajittelee laskentataulukot aakkosjärjestykseen. Jos UCase (Sheets (j) .Name)> UCase (Sheets (i) .Name) Sitten Sheets (j) .Move before: = Sheets (i) End If Next j Next i Application.ScreenUpdating = True End Sub
Voit myös antaa käyttäjälle mahdollisuuden valita, haluaako hän lajitella nousevassa/laskevassa järjestyksessä.
Alla oleva koodi näyttää viestiruudun ja käyttäjä voi valita lajiteltavan tilauksen.
Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount kokonaislukuna, i kokonaislukuna, j kokonaislukuna Dim SortOrder As VbMsgBoxResult SortOrder = MsgBox ("Valitse Kyllä nousevalle järjestykselle ja Ei laskevalle järjestykselle", vbYesNountCancel) i = 1 ShCount - 1 Jos j = i + 1 ShCount Jos SortOrder = vbKyllä Sitten If UCase (Sheets (j) .Name) UCase (Sheets (i) .Name) Sitten Sheets (j) .Move before: = Sheets (i) Loppu Jos loppu Jos seuraava j Seuraava i Sovellus.ScreenUpdating = Todellinen loppuosa
Yllä oleva koodi suoritettaessa näyttää alla olevan viestin. Se lajittelee valinnan perusteella (Kyllä nousevalle ja Ei laskevalle).
Jos valitset Peruuta, koodi lakkaa eikä mitään tapahdu.
Merkintä: Lajittelua ei voi peruuttaa. Jos haluat säilyttää myös alkuperäisen tilauksen, tee kopio työkirjasta.
Varoituksen sana: Yllä oleva koodi toimii useimmissa tapauksissa. Yksi alue, jossa se antaa sinulle väärän tuloksen, on välilehtien nimet, kuten Q12021-2022, Q22021-2022, Q12021-2022, Q22021-2022. Ihannetapauksessa haluat, että kaikki samojen vuosien välilehdet ovat yhdessä, mutta sitä ei tehdä, koska Q12021-2022 sijoitetaan ennen Q22021-2022.Minne laittaa VBA -koodi
Excelissä on VBA -taustaohjelma, jota kutsutaan VBA -editoriksi.
Sinun on kopioitava ja liitettävä VBA -koodi VB Editor -moduulin koodi -ikkunaan.
Tässä on seuraavat vaiheet:
- Napsauta "Kehittäjä" -välilehteä. (Etkö näe kehittäjä -välilehteä? Napsauta tätä saadaksesi ohjeet sen hankkimiseen).
- Napsauta Visual Basic -vaihtoehtoa. Tämä avaa VB -editorin taustaohjelmaan.
- Napsauta hiiren kakkospainikkeella mitä tahansa työkirjan objektia VB Editorin Project Explorer -ruudussa, johon haluat lisätä koodin. (Jos et näe Project Explorer -ohjelmaa, siirry Näytä -välilehteen ja napsauta Project Explorer.)
- Siirry Lisää -kohtaan ja napsauta Moduuli. Tämä lisää moduuliobjektin työkirjaasi.
- Kopioi ja liitä koodi moduuli -ikkunaan.
Kuinka suorittaa VBA -koodi
Excelissä on useita tapoja suorittaa VBA -koodi.
Voit suorittaa koodin suoraan Visual Basic Editorista (jota kutsutaan myös VB Editoriksi).
Voit lisätä laskentataulukkoon painikkeen tai muodon ja määrittää sille makron. Kun napsautat painiketta, se suorittaa makron heti.
Voit myös lisätä makron Pikatyökaluriville (QAT). Nyt kun sinun on lajiteltava laskentataulukon välilehdet, voit napsauttaa vain QAT: n makrokoodikuvaketta.
Voit lukea kaiken makron käyttämisestä täältä - Makron suorittaminen Excelissä (tai katso alla oleva video).Saatat pitää myös seuraavista Excel/VBA -opetusohjelmista:
- Tietojen lajitteleminen Excelissä VBA: n avulla.
- Lajittele tiedot automaattisesti aakkosjärjestykseen kaavan avulla.
- Kuinka tehdä monitasoinen tietojen lajittelu Excelissä.
- Johdanto Excelin tietojen lajitteluvaihtoehtoihin.
- Excel VBA -autosuodatin: täydellinen opas esimerkkeineen
- Kuinka ryhmitellä laskentataulukoita Excelissä
- Tietojen kääntäminen Excelissä