Turinys
Šioje pamokoje parodyta, kaip greitai surūšiuoti "Excel" darbalapius abėcėlės tvarka naudojant VBA kodą ir įrankį "Workbook Manager".
"Microsoft Excel" siūlo keletą greitų ir paprastų būdų, kaip išdėstyti stulpelius ar eilutes abėcėlės tvarka. Tačiau yra tik vienas būdas pertvarkyti darbalapius "Excel" programoje - vilkti juos į norimą vietą lapo skirtukų juostoje. Kai reikia abėcėlės tvarka išdėstyti skirtukus tikrai dideliame sąsiuvinyje, tai gali būti ilgas ir klaidingas būdas. Ieškote laiko taupymo alternatyvos? Yra tik du: VBA kodas.arba trečiosios šalies įrankius.
Kaip "Excel" skirtukus išdėstyti pagal abėcėlę naudojant VBA
Toliau rasite tris VBA kodo pavyzdžius, skirtus "Excel" lapams rūšiuoti didėjančia, mažėjančia ir bet kuria kryptimi pagal naudotojo pasirinkimą.
Manoma, kad turite tam tikros patirties su VBA, todėl pateiksime tik pagrindinius žingsnius, kaip pridėti makrokomandą prie darbalapio:
- "Excel" sąsiuvinyje paspauskite Alt + F11, kad atidarytumėte "Visual Basic" redaktorių.
- Kairiajame lange dešiniuoju pelės klavišu spustelėkite Ši darbo knyga , tada spustelėkite Įdėkite > Modulis .
- Įklijuokite VBA kodą į langą Kodas.
- Paspauskite F5, kad paleistumėte makrokomandą.
Išsamias žingsnis po žingsnio instrukcijas rasite skyriuje Kaip įterpti ir paleisti VBA kodą programoje "Excel".
Patarimas. Jei norite išsaugoti makrokomandą tolesniam naudojimui, būtinai išsaugokite failą kaip "Excel" makrokomandų sąsiuvinį (.xlsm).
Taip pat galite atsisiųsti mūsų pavyzdinę "Excel" skirtukų abėcėlės darbaknygę, įjungti turinį, jei bus paprašyta, ir tiesiogiai iš jos paleisti norimą makrokomandą. Darbaknygėje yra šios makrokomandos:
- SkirtukaiAtvirkščiai - surūšiuokite lapus abėcėlės tvarka nuo A iki Z.
- TabsDescending - išdėstykite lapus atvirkštine tvarka nuo Z iki A.
- AlphabetizeTabs - rūšiuoti lapo skirtukus abiem kryptimis - didėjančia arba mažėjančia.
Atsisiuntę pavyzdinį sąsiuvinį ir atidarę jį "Excel" programoje, atidarykite savo sąsiuvinį, kuriame norite sudėlioti skirtukus pagal abėcėlę, paspauskite Alt + F8 , pasirinkite norimą makrokomandą ir spustelėkite Paleisti .
Rūšiuokite "Excel" skirtukus abėcėlės tvarka nuo A iki Z
Šis mažas makrokomandas sutvarko dabartinio sąsiuvinio lapus į didėjančia raidine-skaitmenine tvarka , pirmiausia lapai, kurių pavadinimai prasideda skaičiais, tada lapai nuo A iki Z.
Sub TabsAscending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name)> UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next Next Next MsgBox "The tabs have been sorted from A to Z." End Sub"Excel" skirtukų išdėstymas nuo Z iki A
Jei norite rūšiuoti lapus mažėjančia raidžių ir skaičių tvarka (nuo Z iki A, tada lapai su skaitmeniniais pavadinimais), tada naudokite šį kodą:
Sub TabsDescending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) <UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next Next MsgBox "The tabs have been sorted from Z to A." End SubSkirtukų suskirstymas pagal abėcėlę didėjančia arba mažėjančia tvarka
Šis makrokomandas leidžia naudotojams nuspręsti, kaip rūšiuoti tam tikro sąsiuvinio darbalapius - abėcėlės tvarka nuo A iki Z arba atvirkštine tvarka.
Kadangi standartiniame "Excel VBA" dialogo lange (MsgBox) galima rinktis tik iš kelių iš anksto nustatytų mygtukų, sukursime savo formą (UserForm) su trimis pasirinktiniais mygtukais: Nuo A iki Z , iš Z į A , ir Atšaukti .
Šiuo tikslu atidarykite "Visual Basic" redaktorių, dešiniuoju pelės klavišu spustelėkite Ši darbo knyga ir spustelėkite Įdėkite > Naudotojo forma . Pavadinkite savo formą SortOrderFrom ir pridėkite 4 valdiklius: etiketę ir tris mygtukus:
Paskui paspauskite F7 (arba du kartus spustelėkite formą), kad atidarytumėte Kodas langą ir įklijuokite toliau pateiktą kodą. Kodas perima mygtukų paspaudimus ir kiekvienam mygtukui priskiria unikalią žymą:
Privati subkomanda CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Privati subkomanda CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Privati subkomanda CommandButton3_Click() Me.Tag = 0 Me.Hide End SubPriklausomai nuo to, ar naudotojas spustelėjo Nuo A iki Z arba iš Z į A mygtuką formoje, rūšiuoti skirtukus didėjančia abėcėlės tvarka (pasirinkta pagal numatytuosius nustatymus) arba mažėjančia abėcėlės tvarka; arba uždaryti formą ir nieko nedaryti, jei Atšaukti . Tai atliekama naudojant toliau nurodytą VBA kodą, kurį įprastu būdu įterpiate per Įdėkite > Modulis .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name)> UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name)<UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Įkelti SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Iškrauti SortOrderForm End FunctionJei dar nelabai gerai mokate dirbti su VBA, galite tiesiog atsisiųsti mūsų pavyzdinį skirtukų rūšiavimo pagal abėcėlę sąsiuvinį, atidaryti jį "Excel" programoje kartu su savo failu, kuriame norite rūšiuoti skirtukus, ir paleisti AlphabetizeTabs makrokomandą iš darbaknygės:
Pasirinkite pageidaujamą rūšiavimo tvarką, pvz, Nuo A iki Z ir stebėkite rezultatus:
Patarimas. Naudodami VBA taip pat galite kurti "Excel" darbalapių kopijas. Kodą rasite čia: Kaip dubliuoti "Excel" lapą naudojant VBA.
Kaip rūšiuoti "Excel" skirtukus pagal abėcėlę naudojant "Ultimate Suite
Mūsų "Ultimate Suite for Excel" paketo naudotojams nereikia vargti su VBA - jie gali naudotis daugiafunkciniu sąsiuvinių tvarkytuvu:
Į "Excel" juostą įtraukus šį įrankį, skirtukus pagal abėcėlę galima suskirstyti vienu mygtuko spustelėjimu - būtent taip, kaip ir turėtų būti!
Jei norite ištirti šiuos ir dar daugiau nei 70 profesionalių "Excel" įrankių, bandomąją "Ultimate Suite" versiją galite atsisiųsti čia.
Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!