Sortarea foilor în ordine crescătoare prin VBA în Microsoft Excel 2010

Anonim

În acest articol, vom învăța sortarea foilor în ordine crescătoare prin VBA în Microsoft Excel 2010.

În timp ce lucrați pe mai multe foi, observați că foile nu sunt aranjate corect. Doriți să creați rapid o macrocomandă care va sorta automat foaia în ordine crescătoare ori de câte ori este rulată macrocomanda.

Pentru a sorta foile în ordine crescătoare, urmați pașii de mai jos:

  • Apăsați Alt + F11 pentru a lansa ecranul VB Editor
  • Din meniul Insert, selectați Module.

  • În modul, tastați liniile de cod după cum urmează:

Sub SortingSheetsInAscending ()

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

Dacă ActiveWorkbook nu este nimic, ieșiți din Sub

Dacă ActiveWorkbook.ProtectStructure atunci

MsgBox ActiveWorkbook.Name & "is protected", vbCritical, "Sort Sheets"

Ieșiți din Sub

End If

Dacă MsgBox („Sortați foile?”, VbQuestion + vbYesNo) vbYes Apoi ieșiți din Sub

Application.EnableCancelKey = xlDisabled

SheetsCounter = Sheets.Count

Pentru i = 2 To SheetsCounter

Pentru n = 1 To SheetsCounter

Dacă Foi (n) .Nume> Foi (i) .Nume Atunci

Foi (i). Mutați înainte: = Foi (n)

End If

Următorul n

Apoi eu

Sfârșitul Sub

  • Rulați macrocomanda din modul apăsând F5.

Alternativ, apăsați Alt + F11 și reveniți la Excel, atribuiți macro oricărui obiect Excel ca buton sau pictogramă sau apăsați Alt + F8 pentru a selecta macro-ul, apoi faceți clic pe Executare.
Veți găsi că foile sunt aranjate într-o ordine alfanumerică.