Olá tecnico!
O código que postei funciona para números também.
Se você quiser deixar automático, tem que colocar o código em algum evento do módulo da sua posta de trabalho. Eu sugiro o evento SheetActivate ou então o evento Beforesave.
Segue exemplo do código adaptado para ficar de forma crescente no evento Sheetactivate. Aqui sempre que você mudar de planilha o código vai ser rodado, e eu desativei a parte de aparecer a mensagem.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
'
' Prompt the user as which direction they wish to
' sort the worksheets.
'
' iAnswer = MsgBox("Classificar Planilhas em ordem crescente?" & Chr(10) _
' & "Clique em não para classificar em ordem decrescente!", _
' vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
iAnswer = vbYes
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
'
' If the answer is Yes, then sort in ascending order.
'
If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
'
' If the answer is No, then sort in descending order.
'
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub
Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/
Postado : 26/03/2015 8:04 am