About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2007-04-06

Se pretendermos efectuar uma ordenação por escolha através de uma InputBox, como no exemplo:

 

para o resultado:

 

ou:

 

para o resultado:

 

podemos utilizar o seguinte código:

 

Sub Ordena()
'
' Macro recorded 04-04-2007 by JRod
'

'

    Dim Choice As String
    Choice = InputBox("Ordenar por:")
    If Choice = "data" Then
        Range("A2:B6").Select
        Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
                       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                       DataOption1:=xlSortNormal
    ElseIf Choice = "nome" Then
        Range("A2:B6").Select
        Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
                       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                       DataOption1:=xlSortNormal
    Else
        Exit Sub
    End If
End Sub