Orden automático de tabla al ser modificado un valor

tengo una tabla con celdas vinculadas, quiero que al modificarse el texto de una determinada columna, la fila correspondiente a la celda modificada suba al inicio de la tabla. Actualmente lo estoy haciendo con una columna auxiliar (con los datos anteriores) y con formatos condicionales pero debo ordenarla manualmente cada vez que se modifica un valor.

1 respuesta

Respuesta
1

Este procedimiento de vba ordena los valores, debes ponerlo en algún botón o en algo que haga correr el procedimiento, adáptalo q lo que quieres ponle el rango que debe ordenar en este caso yo ordeno de E2: a E1000

Sub Macro1() ' ' Macro1 Macro '
' Range("E2:E1000").Select ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("E2:E1000") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Hoja1").Sort .SetRange Range("E2:E1000") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

Experto:

gracias por tu ayuda. soy nuevo en el uso de estos procedimientos lo copie, reemplacé los rangos, y la asigne a un botón, pero no me resultó como esperaba, ¿Como le inndico los parámetros por los que quiero que se odenen las filas. busco que al momento de ser modificado el valor de la celda este quede en el principio automáticamente. espero haber explicado bien, Muchas gracias por tu ayuda

Te pido disculpas pero no comprendo lo que intentas hacer, porque me hablas de que cuando se modifique la fila vaya al principio, pero si quieres eso para que quieres que se ordene por parámetros, haber si entiendo vos quieres modificar una celda y que la fila completa se posicione en el primer lugar, sin importar que valores tenga este o no ordenado, por favor explica lo que quieres con un ejemplo así te respondo sobre lo que quieres hacer y no sobre lo que yo interpreto.

Nuevamente le agradezco, tal como usted dice mi idea original es que al modificarse una celda de la columna "concepto", la fila entera vaya al principio el listado, actualmente estoy ordenando de forma manual según color de la celda (Cuando la celda esta coloreada que vaya al fin, asi las blancas van arriba), pero quisiera que esto fuera automático.

Para hacer lo que tu quieres mira http://programarexcel.blogspot.com.ar/2013/03/mueve-fila-al-principio.html ; ahí hay un procedimiento que hace que la fila activa se mueva al principio, si quieres puedes hacer que la macro en vez de un botón se ejecute presionando f8 o una combinación de teclas, así mismo si lo incorporas en la programación de la hoja puedes correr la macro haciendo doble click o en algún otro evento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas