Tengo una macro que ordena automáticamente, pero no se actualiza sola

Sucede que la macro ordena los datos automáticamente, pero ahora extraje los datos de otra hoja y no se actualiza hasta que doble clic sobre la celda y pulse enter. ¿Cómo resuelvo el problema?. Esta es la macro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
With Range("A:N")
.Sort key1:=.Cells(1, 2), Header:=xlYes
End With
End If
End Sub

1 respuesta

Respuesta
1

La información se ordena cuando cambias un dato en la columna "B"

Si quieres que se actualice al modificar cualquier dato de las columnas de la A a la N, puede ser así:

Private Sub Worksheet_Change(ByVal Target As Range)    If Target.Column < 15 Then        With Range("A:N")        .Sort key1:=.Cells(1, 2), Header:=xlYes        End With    End IfEnd Sub

No olvides valorar la respuesta.

El problema es el siguiente (gracias por tu aporte me continuará sirviendo), extraje datos de varias tablas con "=hoja1!A1", por decir algo, pero cuando ingreso un dato en la hoja1 no se ordena automáticamente aún habiendo ingresado datos en la columna "B", ¿Cómo hago para que se actualicen inmediatamente? o por lo menos, una abreviación con el teclado para actualizarla.

Si en la columna B tienes una fórmula, por ejemplo: "=hoja1!A1", y modificas en la hoja1 la celda A1, en teoría la hoja que estás actualizando es la hoja1, tu evento es este: Worksheet_Change, significa cuando actualices la hoja, pero no estás actualizando la hoja, estás actualizando otra hoja.

Intenta probar con otros eventos.

Por ejemplo, prueba con el evento activate, cambia toda la macro por esto:

Private Sub Worksheet_Activate()
    With Range("A:N")
        .Sort key1:=.Cells(1, 2), Header:=xlYes
    End With
End Sub

Significa que puedes ir a la hoja1, hacer cambios y cuando regreses a la hoja en ese momento se ejecuta el sort.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas