Lakštų rūšiavimas didėjančia tvarka per VBA „Microsoft Excel 2010“

Anonim

Šiame straipsnyje mes išmoksime rūšiuoti lapus didėjančia tvarka per „Microsoft Excel 2010“ VBA.

Dirbdami su keliais lapais pastebite, kad lakštai nėra tinkamai išdėstyti. Norite greitai sukurti makrokomandą, kuri automatiškai surūšiuos lapą didėjančia tvarka, kai vykdoma makrokomanda.

Norėdami rūšiuoti lapus didėjančia tvarka, atlikite toliau nurodytus veiksmus:

  • Paspauskite Alt+F11, kad paleistumėte VB redaktoriaus ekraną
  • Meniu Įterpti pasirinkite Modulis.

  • Į modulį įveskite kodo eilutes taip:

Sub rūšiavimasSheetsInAscending ()

Dim i As Integer, n Kaip Integer, SheetsCounter As Integer

Jei „ActiveWorkbook“ yra niekas, išeikite iš „Sub“

Jei ActiveWorkbook.ProtectStructure Tada

„MsgBox ActiveWorkbook.Name &“ yra apsaugotas “,„ vbCritical “,„ Rūšiuoti lapus “

Išeiti iš Sub

Pabaiga Jei

Jei „MsgBox“ („Rūšiuoti lapus?“, VbKlausimas + vbTaipNe) vbTaip, tada išeikite iš antrinio

Application.EnableCancelKey = xlDisabled

SheetsCounter = Sheets.Count

Jei i = 2 į „SheetsCounter“

Jei n = 1 į „SheetsCounter“

Jei Skaičiuoklės (n). Pavadinimas> Skaičiuoklės (i). Pavadinimas Tada

Lakštai (i). Judėti prieš: = lakštai (n)

Pabaiga Jei

Kitas n

Kitas I.

Pabaiga Sub

  • Paleiskite makrokomandą iš modulio paspausdami F5.

Arba paspauskite „Alt“+F11 ir grįžkite į „Excel“, priskirkite makrokomandą bet kuriam „Excel“ objektui kaip mygtuką ar piktogramą arba paspauskite „Alt“+F8, kad pasirinktumėte makrokomandą, tada spustelėkite „Vykdyti“.
Pamatysite, kad lakštai išdėstyti raidžių ir skaitmenų tvarka.