2017-01-16 6 views
0

Я новичок в VBA и не нашел решения для моей маленькой проблемы в любых потоках для использования сортировки VBA.Excel VBA sorting alphanumerical Macro

Программное обеспечение записывает данные в Excel и создает листы с 1-30. Моя проблема заключается в том, что эти листы не в порядке.

С каждой сортировкой я пытался до сих пор, я всегда получаю результат: листа , sheet10, sheet11 ... sheet19, лист , sheet20, sheet21, ... sheet29, лист , sheet30, sheet4, sheet5, sheet6, ...

Я ищу решение для получения этих листов в порядке, например: sheet1, sheet2, sheet3 ... sheet29, sheet30.

Моя единственная идея - создать новый лист с помощью макроса, создать список (sheet1 ... sheet30) и отсортировать эти листы по списку.

Но я уверен, что есть более разумный способ решить проблему.

Thx заранее для любых предложений.

ответ

0

До тех пор, пока ваши листы имена, как «Лист1», Лист2" , .... то:.

Sub RestoreOrder() 
    Dim N As Long, i As Long 
    N = Sheets.Count 
    For i = 1 To N 
     Sheets("Sheet" & i).Move after:=Sheets(N) 
    Next i 
End Sub 

, кажется, работает

+0

Он отлично работает, спасибо за вашу помощь. – Heinz