Kā kārtot darblapas programmā Excel, izmantojot VBA (alfabētiskā secībā)

Ja programmā Excel strādājat ar daudzām darblapām, jūs zināt, ka tā pārvaldība var kļūt par problēmu.

Kad jums ir vairāk nekā pāris darblapu, tās ir jāsakārto manuāli.

Cik viegli būtu, ja būtu veids, kā ātri kārtot darblapas programmā Excel.

Lai gan nav iebūvētu funkciju veida, kā to izdarīt, to var izdarīt (viegli), izmantojot VBA.

Šajā apmācībā es sniegšu jums kodu un precīzas darbības, kas jums jāveic, lai kārtotu darblapas programmā Excel.

Jūs varat pielāgot kodu, lai kārtotu darblapas augošā vai dilstošā secībā.

VBA kods, lai kārtotu darblapas programmā Excel

Zemāk ir kods, kas sakārtos darblapas alfabētiskā secībā, tiklīdz tās palaidīsit.

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets.Count For i = 1 To ShCount - 1 For j = i + 1 To ShCount If UCase (Sheets (j). Nosaukums] <UCase (Izklājlapas (i). Nosaukums) Pēc tam Izklājlapas (j). Pārvietot pirms: = Izklājlapas (i) Beigt, ja nākamā j Nākamā i lietojumprogramma. ScreenUpdating = Patiesā beigu apakšdaļa

Iepriekš minētais ir vienkāršs kods, kas tiek izmantots cilnei Tālāk, lai analizētu katru darblapu salīdzinājumā ar visām darblapām.

Tas salīdzina darblapas nosaukumu ar visām darblapām un pārvieto to, pamatojoties uz tās nosaukumu alfabētiskā secībā.

Pēc tam tas pāriet uz nākamo darblapu un pēc tam pārbauda to salīdzinājumā ar visām darblapām.

Šis process tiek atkārtots visām darblapām, un gala rezultāts ir darba lapas secība, kas sakārtota alfabētiskā secībā.

Dažas svarīgas lietas, kas jāzina par šo kodu:

  1. Funkcija UCase tiek izmantota, lai pārliecinātos, ka mazie un lielie burti netiek apstrādāti atšķirīgi.
  2. Programmas Application.ScreenUpdating vērtība koda sākumā ir iestatīta uz False un koda beigās tiek mainīta uz True. Tas nodrošina, ka, kamēr kods darbojas, jūs neredzat, ka tas notiek ekrānā. Tas arī palīdz paātrināt koda izpildi.

Ja vēlaties kārtot darblapas dilstošā secībā, jums jāmaina tikai (lielāka par) zīme.

Zemāk esošais kods darblapas sakārtotu dilstošā secībā:

'Šis kods sakārtos darblapas alfabētiskā secībā Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets.Count For i = 1 To ShCount - 1 For j = i + 1 To ShCount Ja UCase (Izklājlapas (j) .Nosaukums)> UCase (Izklājlapas (i) .Nosaukums) Pēc tam Izklājlapas (j). Pārvietot pirms: = Loksnes (i) Beigt Ja Nākamā j Nākamā i Lietojumprogramma.ScreenUpdating = Patiesais beigas

Varat arī dot lietotājam iespēju izvēlēties, vai viņš/viņa vēlas kārtot augošā/dilstošā secībā.

Zemāk redzamais kods parādītu ziņojumu lodziņu, un lietotājs var izvēlēties kārtojamo pasūtījumu.

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer Dim SortOrder As VbMsgBoxResult SortOrder = MsgBox ("Atlasiet Jā augošā secībā un Nē dilstošā secībā", vbYesNoCancel.) i = 1 uz ShCount - 1 uz j = i + 1 uz ShCount, ja kārtot (i) Beigt, ja beigas, ja nākamā j Nākamā i Application.ScreenUpdating = True End Sub

Iepriekš minētais kods, izpildot, parāda ziņojumu, kā parādīts zemāk. Tas tiek kārtots, pamatojoties uz atlasi (Jā, augošam un nē - dilstošam).

Ja noklikšķināt uz Atcelt, kods tiek pārtraukts un nekas nenotiek.

Piezīme: Kārtošanu nevar atsaukt. Ja vēlaties saglabāt arī sākotnējo pasūtījumu, izveidojiet darbgrāmatas kopiju.

Brīdinājuma vārds: Iepriekš minētais kods darbojas lielākajā daļā gadījumu. Viena no jomām, kur tas sniegs jums nepareizu rezultātu, ir tad, ja jums ir cilņu nosaukumi, piemēram, Q12021-2022, Q22021-2022, Q12021-2022, Q22021-2022. Ideālā gadījumā jūs vēlētos, lai visas cilnes tiem pašiem gadiem būtu kopā, taču tas netiks darīts, jo Q12021-2022 tiks ievietots pirms Q22021-2022.

Kur ievietot VBA kodu

Programmai Excel ir VBA aizmugure, ko sauc par VBA redaktoru.

Jums ir nepieciešams kopēt un ielīmēt VBA kodu VB redaktora moduļa koda logā.

Lai to izdarītu, veiciet tālāk norādītās darbības.

  1. Noklikšķiniet uz cilnes Izstrādātājs. (Vai neredzat izstrādātāja cilni? Noklikšķiniet šeit, lai uzzinātu, kā to iegūt).
  2. Noklikšķiniet uz opcijas Visual Basic. Tas atvērs VB redaktoru aizmugurē.
  3. VB redaktora Project Explorer rūtī ar peles labo pogu noklikšķiniet uz jebkura darbgrāmatas objekta, kurā vēlaties ievietot kodu. (Ja neredzat Project Explorer, dodieties uz cilni “View” un noklikšķiniet uz “Project Explorer”.)
  4. Dodieties uz Ievietot un noklikšķiniet uz moduļa. Tādējādi jūsu darbgrāmatai tiks ievietots moduļa objekts.
  5. Kopējiet un ielīmējiet kodu moduļa logā.

Kā palaist VBA kodu

Programmā Excel ir dažādi veidi, kā palaist VBA kodu.

Jūs varat palaist kodu tieši no Visual Basic redaktora (ko sauc arī par VB redaktoru).

Darblapā varat ievietot pogu vai formu un piešķirt tai makro. Noklikšķinot uz pogas, makro tiks palaists uzreiz.

Makro varat pievienot arī ātrās piekļuves rīkjoslai (QAT). Tagad, kad jums ir jāšķiro darblapas cilnes, varat vienkārši noklikšķināt uz makro koda ikonas QAT.

Jūs varat izlasīt visu par makro palaišanu šeit - Kā palaist makro programmā Excel (vai skatīties tālāk redzamo videoklipu).
Jums varētu patikt arī šādas Excel/VBA apmācības:

  • Kā kārtot datus programmā Excel, izmantojot VBA.
  • Automātiski kārtojiet datus alfabētiskā secībā, izmantojot formulu.
  • Kā programmā Excel veikt vairāku līmeņu datu kārtošanu.
  • Ievads Excel datu kārtošanas opcijās.
  • Excel VBA automātiskais filtrs: pilnīga rokasgrāmata ar piemēriem
  • Kā grupēt darblapas programmā Excel
  • Kā apgriezt datus programmā Excel

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave