Consulta de macro para ordenar

Me podrías dar una mano, con una macro que me pasaste el otro día.

Que la misma no sea automática cuando cambie algo en la columna 4, sino que cambie al tocar un botón o al hacer una llamada de la misma.

Aquí abajo te detallo la macro que me armaste

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 4 Then
        Application.ScreenUpdating = False
        With Range("A2:G" & ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row)
            .Sort Key1:=.Cells(1, 4), Order1:=xlDescending, Header:=xlYes
        End With
        '
        Set b = Columns("D").Find("SI", lookat:=xlWhole, SearchDirection:=xlPrevious)
        If Not b Is Nothing Then f1 = b.Row
        Set b = Columns("D").Find("OK", lookat:=xlWhole, SearchDirection:=xlPrevious)
        If Not b Is Nothing Then f2 = b.Row
        f = WorksheetFunction.Max(f1, f2)
        '
        Range("A2:G" & f).Sort Key1:=Range("F3"), Order1:=xlAscending
        ThisWorkbook.RefreshAll
    End If
End Sub

1 Respuesta

Respuesta
1

Pon la siguiente macro en un botón

Sub Ordenar_Datos()
    Application.ScreenUpdating = False
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    With Range("A2:G" & u)
        .Sort Key1:=.Cells(1, 4), Order1:=xlDescending, Header:=xlYes
    End With
    '
    Set b = Columns("D").Find("SI", lookat:=xlWhole, SearchDirection:=xlPrevious)
    If Not b Is Nothing Then f1 = b.Row
    Set b = Columns("D").Find("OK", lookat:=xlWhole, SearchDirection:=xlPrevious)
    If Not b Is Nothing Then f2 = b.Row
    f = WorksheetFunction.Max(f1, f2)
    If f = 0 Then f = u
    '
    Range("A2:G" & f).Sort Key1:=Range("F3"), Order1:=xlAscending
    ThisWorkbook.RefreshAll
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Ordenar_Datos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas