Macro para ordenar varias tablas distintas

El asunto es así, tengo 6 tablas con nombres en cada una de ellas (Nombre, Tipo, estilo, proveedor, cantidad y precio) y tengo un userform que les va ingresando datos a cada una de ellas, pero los coloca al final de la tabla. Ahora necesito que al ingresar el nombre de un nuevo producto me lo orden en orden alfabético pero bajo el criterio del nombre del producto. La única forma que veo es quitándole el rango manualmente pero quiero que sea automático. Porque al tomar sombrear todas las tables no me da la opción de ordenar.

1 respuesta

Respuesta
1

Cada vez que pasas los datos debes llamar a una subrutina que las ordene, dependiendo de qué tabla se trate. Por ejemplo:

Call Macro1

Con la grabadora de macros podrás conseguir las instrucciones para cada tabla, aquí solo te dejo el ejemplo de macro con estas referencias que debes ajustar:

- Nombre de hoja y de tabla

- Nombre del campo o título de la col que debe ser ordenada (en mi caso es MES)

Sub Macro1()
'x Elsamatilde
'
'macro creada con la grabadora de macros para ordenar Tabla seleccionando la primer celda
    ActiveWorkbook.Worksheets("Datos2").ListObjects("Tabla6").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Datos2").ListObjects("Tabla6").Sort.SortFields.Add _
        Key:=Range("Tabla6[MES]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Datos2").ListObjects("Tabla6").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Hola

No me sirve me da error, además no sirve con la grabadora de macro porque no me toma el código cuando inserto la tabla.

También me pasa que cuando logro quitarlo y ponerlo la tabla, el rango usado se mantiene constante y necesito que crezca en función a los nuevos productos que voy ingresando por el usermform. Necesito que me tome el rango del nombre de la tabla que yo le di(que si crece con los productos)

Saludos

Mi macro solo va de ejemplo con nombres que tiene mi libro. Por eso te mencionaba que utilices la grabadora solo para generarla con tus referencias... No era la idea insertar tablas solo ordenarla. Así leo en el título de tu consulta: Macro para ordenar varias tablas distintas

Entonces, dices que tienes 6 tablas... y tengo un userform que les va ingresando datos a cada una de ellas, pero los coloca al final de la tabla... y me lo orden en orden alfabético

Bien, aquí es donde yo te agrego la macro para ordenar la tabla. En esa macro debes reemplazar el texto Datos2 por el nombre de tu hoja, ¿Tabla6 por el nombre de tu tabla y MES por el título de tu tabla que quizás sea 'Nombre'?

Ahora, si tenés problemas para agregar o quitar elementos a tus tablas... eso me parece que no dice tu consulta original... no puedo anticiparme a un problema que no se comenta aquí.

Acabo de mirar tu historial y veo que 3 hrs. Después dejaste con posterioridad otra consulta con ese tema... con mucho gusto también me ocuparé si aún nadie la respondió. Solo valora esta primero para cerrarla y así continuamos con la otra. Esta responde a lo solicitado aquí.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas