Enhavtabelo
La lernilo montras kiel vi povas rapide ordigi Excel-foliojn en alfabeta ordo uzante VBA-kodon kaj la ilon Workbook Manager.
Microsoft Excel provizas kelkajn rapidajn kaj facilajn manierojn aranĝi. kolumnoj aŭ vicoj en alfabeta ordo. Sed ekzistas nur unu metodo por rearanĝi laborfoliojn en Excel - trenu ilin al la dezirata pozicio sur la folia langeto. Kiam temas pri alfabetigi langetojn en vere granda laborlibro, ĉi tio povas esti longa kaj erara maniero. Ĉu vi serĉas tempon-ŝparan alternativon? Ekzistas nur du: VBA-kodo aŭ triaj iloj.
Kiel alfabetigi langetojn en Excel per VBA
Sube vi trovos tri VBA-kodekzemplojn por ordigi Excel. folioj suprenirante, malsuprenirante, kaj ambaŭdirekten surbaze de la elekto de la uzanto.
Importante, ke vi havas iom da sperto pri VBA, ni nur skizos la bazajn paŝojn por aldoni makroon al via laborfolio:
- En via Excel-laborlibro, premu Alt + F11 por malfermi la Visual Basic Redaktilon.
- Sur la maldekstra panelo, dekstre alklaku ThisWorkbook , kaj poste alklaku Enmeti > Modulo .
- Algluu la VBA-kodon en la Koda fenestro.
- Premu F5 por ruli la makroon.
Por la detalaj paŝo-post-paŝaj instrukcioj, bonvolu vidi Kiel enmeti kaj ruli VBA-kodon en Excel.
Konsileto. Se vi volas konservi la makroon por plua uzado, nepre konservu vian dosieron kiel Excel makro-ebligita laborlibro (.xlsm).
Alternative, vi povas elŝuti nian ekzemplan laborlibron Alphabetize Excel Tabs, ebligi enhavon se oni petas, kaj ruli la deziratan makroon rekte de tie. La laborlibro enhavas la jenajn makroojn:
- LapetojSukcendaj - ordigu foliojn alfabete de A ĝis Z.
- LapetojMalkreskantaj - ordigu foliojn en la inversa ordo, de Z al A.
- Alfabetigi Tabs - ordigu foliajn langetojn ambaŭdirekte, supren aŭ malsupren.
Kun la ekzempla laborlibro elŝutita kaj malfermita en via Excel, malfermu vian propran laborlibron kie vi volas alfabetigi langetojn, premu Alt + F8 , elektu la deziratan makroon, kaj alklaku Run .
Ordigu Excel-langetojn alfabete de A ĝis Z
Ĉi tiu eta makroo aranĝas la foliojn en la nuna laborlibro en alfanombra ordo , unue laborfolioj kies nomoj komenciĝas per ciferoj, poste folioj de A ĝis Z.
Sub TabsAscending() Por i = 1 Al Apliko.Fuokoj.Nombro Por j = 1 Al Apliko.Foloj.Nombro - 1 Se UCase$(Apliko.Foloj(j).Nomo) > UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Fheets(j + 1) End If Next MsgBox "La langetoj estas ordigitaj de A ĝis Z." End SubOrdigu Excel-langetojn de Z al A
Se vi volas ordigi viajn foliojn en malkreskanta alfanombra ordo (Z al A, poste folioj kun numeraj nomoj), tiam uzu la jena kodo:
Sub TabsDescending() For i = 1 ToApliko.Fuokoj.Nombro Por j = 1 Al Apliko.Foloj.Nombro - 1 Se UCase$(Apliko.Folioj(j).Nomo) < UCase$(Application.Sheets(j + 1).Name) Tiam Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "La langetoj estas ordigitaj de Z al A. " End SubAlfabetigi langetojn supren aŭ malsupren
Ĉi tiu makroo permesas al viaj uzantoj decidi kiel ordigi laborfoliojn en difinita laborlibro, alfabete de A ĝis Z aŭ en la inversa ordo.
Ekde la norma dialogujo (MsgBox) en Excel VBA nur permesas elekti el kelkaj antaŭdifinitaj butonoj, ni kreos nian propran formon (UserForm) kun tri kutimaj butonoj: A ĝis Z , Z al A , kaj Nuligi .
Por tio, malfermu la Visual Basic Redaktilon, dekstre alklaku Tiu Laborlibro , kaj alklaku Enmeti > Uzantformularo . Nomu vian formularon OrdigiDe , kaj aldonu 4 kontrolojn al ĝi: etikedo kaj tri butonoj:
Sekva, premu F7 (aŭ duoble alklaku la formularon). ) por malfermi la fenestron Kodo kaj alglui la suban kodon tie. La kodo kaptas butonklakojn kaj asignas unikan etikedon al ĉiu butono:
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click () Me.Tag = 0 Me.Hide End SubLaŭ ĉu la uzanto klakas la butonon A ĝis Z aŭ Z ĝis A en via formularo, ordigu langetojn enascendanta alfabeta ordo (elektita defaŭlte) aŭ malkreskanta alfabeta ordo; aŭ fermu la formularon kaj faru nenion en kazo de Nuligi . Ĉi tio estas farita per la sekva VBA-kodo, kiun vi enmetas laŭ la kutima maniero per Enmeti > Modulo .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Tiam Eliru Sub Por x = 1 Al Application.Sheets.Count For y = 1 Al Application.Sheets.Count - 1 Se SortOrder = 1 Tiam Se UCase$(Application.Sheets(y).Name) > UCase$(Apliko.Folioj(y + 1).Nomo) Tiam Folioj(y).Movu post:=Folioj(y + 1) Fino If ElseIf Ordigo = 2 Tiam Se UCase$(Apliko.Foli(y).Nomo) < UCase$(Application.Sheets(y + 1).Name) Tiam Sheets(y).Move after:=Fheets(y + 1) End If End If Sekva Sekva Fino Sub Function showUserForm() Kiel Entjero showUserForm = 0 Ŝarĝi SortOrderForm SortOrderForm .Show (1) showUserForm = SortOrderForm.Tag Malŝarĝi SortOrderForm End FunctionSe vi ankoraŭ ne tre komfortas kun VBA, vi povas simple elŝuti nian Specimen Laborlibron al Alfabetigi Tabs, malfermu ĝin en via Excel kune kun via propra dosiero kie vi volas por ordigi langetojn, kaj ruli la makroon AlphabetizeTabs el via laborlibro:
Elektu la preferatan ordigon, ekzemple, A ĝis Z , kaj observu la rezultojn:
Konsileto. Kun VBA, vi ankaŭ povas krei kopiojn de viaj Excel-laborfolioj. La kodo haveblas ĉi tie: Kielduplikati folion en Excel kun VBA.
Kiel ordigi Excel-langetojn alfabete per Ultimate Suite
La uzantoj de nia Ultimate Suite por Excel ne devas ludi kun VBA - ili havas multon. -funkcia Laborlibro-Manaĝero je ilia dispono:
Kun ĉi tiu ilo aldonita al via Excel-rubando, alfabetigo de langetoj estas farita per ununura butonklako, ĝuste kiel ĝi devus esti!
Se vi scivolas esplori ĉi tion kaj pliajn 70+ajn profesiajn ilojn por Excel, prova versio de nia Ultimate Suite estas disponebla por elŝuto ĉi tie.
Mi dankas. vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!