Saltar al contenido

Reformular esta macro, ordenar por orden alfabético.


6luishao6

Recommended Posts

publicado

Buenas mi pregunta es la siguiente,

 Tengo esta macro:

--------------------------------------------------------------------------------

Sub orde()

    Range("B17:B46").Select

    ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Clear

    ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Add Key:=Range("B17"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("AFILIACIÓN").Sort

        .SetRange Range("B17:K46")

        .Header = xlNo

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

End Sub

 -------------------------------------------------------------------------------

Bueno hasta hay corre bien la macro, pero quiero que me haga una pregunta antes de proceder con la macro, con un mensaje de aceptar el orden alfabético o no aceptar el orden alfabético.

Gracias espero su ayuda.

publicado
If MsgBox("¿ Desea continuar con la ordenación ?", vbQuestion + vbYesNo) = vbYes Then

'aquí tu macro

End If

 

publicado

Sub orde()

If MsgBox("¿ Desea continuar con la ordenación ?", vbQuestion + vbYesNo) = vbYes Then

Range("B17:B46").Select

    ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Clear

    ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Add Key:=Range("B17"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("AFILIACIÓN").Sort

        .SetRange Range("B17:K46")

        .Header = xlNo

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

End Sub

end if

-------------------------------

Asi?...

publicado
Sub orde()
If MsgBox("¿ Desea continuar con la ordenación ?", vbQuestion + vbYesNo) = vbYes Then
   Range("B17:B46").Select
   ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("AFILIACIÓN").Sort.SortFields.Add Key:=Range("B17"), _
       SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("AFILIACIÓN").Sort
       .SetRange Range("B17:K46")
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End If
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.