Tabla ordenada

04/12/2007 - 10:55 por Paquito | Informe spam
Tengo una tabla relacionada a una hoja cuyos datos voy actualizando.
Me gustaría saber como puedo hacer para que se ordenara automáticamente de
forma ascendente de acuerdo con una columna concreta cada vez que cambio
algún dato.

¿Algún internauta bondadoso puede echar una mano a un usuario de excel
desvalido?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/12/2007 - 04:11 | Informe spam
hola, !

Tengo una tabla relacionada a una hoja cuyos datos voy actualizando.
Me gustaria saber como puedo hacer para que se ordenara automaticamente
de forma ascendente de acuerdo con una columna concreta cada vez que cambio algun dato...



1) toma en cuenta que cada vez que se ejecutan macros, ocurre un vaciado del portapapeles
por lo que se pierde la caracteristica (o beneficio) del des-hacer, undo, ctrl-Z (por lo que)...

2) es conveniente que comentes los detalles concretos en relacion con el arreglo de tus datos
y (sobre todo) de cual columna estamos hablando para ordenar
(supongo que no debiera ser al cambiar "cualquier" dato en "cualquier" columna (por lo del undo) -???-

3) tambien podrias grabar una macro mientras realizas dichas acciones y luego modificar/adaptar/mejorar/... la grabacion
despues podrias copiar/mover el codigo del procedimiento grabado (p.e.) a los eventos de "esa" hoja -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Paquito
05/12/2007 - 11:17 | Informe spam
Bueno, voy con mas detalles;

Tengo una tabla con rango B28:F46, la primera fila, 28, contiene el
encabezado.
Esa tabla recoge datos relacionados con otras celdas.
Querría ordenar en orden descendente desde la columna f





"Héctor Miguel" escribió:

hola, !

> Tengo una tabla relacionada a una hoja cuyos datos voy actualizando.
> Me gustaria saber como puedo hacer para que se ordenara automaticamente
> de forma ascendente de acuerdo con una columna concreta cada vez que cambio algun dato...

1) toma en cuenta que cada vez que se ejecutan macros, ocurre un vaciado del portapapeles
por lo que se pierde la caracteristica (o beneficio) del des-hacer, undo, ctrl-Z (por lo que)...

2) es conveniente que comentes los detalles concretos en relacion con el arreglo de tus datos
y (sobre todo) de cual columna estamos hablando para ordenar
(supongo que no debiera ser al cambiar "cualquier" dato en "cualquier" columna (por lo del undo) -???-

3) tambien podrias grabar una macro mientras realizas dichas acciones y luego modificar/adaptar/mejorar/... la grabacion
despues podrias copiar/mover el codigo del procedimiento grabado (p.e.) a los eventos de "esa" hoja -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
05/12/2007 - 19:21 | Informe spam
hola, !

Bueno, voy con mas detalles;
Tengo una tabla con rango B28:F46, la primera fila, 28, contiene el encabezado.
Esa tabla recoge datos relacionados con otras celdas.
Querria ordenar en orden descendente desde la columna f



(creo que) omitiste el analisis de algunos puntos en cuanto a las ordenaciones por codigo -?-
(te reproduzco nuevamente la propuesta anterior al final del presente, solo por si las dudas)

lo que solicitas requiere de una linea de codigo +/- como la siguiente:

Range("b28:f46").Sort Key1:=Range("f27"), Order1:=xlAscending, Header:=xlYes

lo que no se sabe es que significa que la tabla "...recoge datos relacionados con otras celdas." -???-

si suponemos que las entradas en las celdas de dicha tabla son manuales por parte del usuario...
la linea de codigo la pones (p.e.) en el evento '_change' en el modulo de codigo de "esa" hoja +/- como sigue:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("b28:f46")) Is Nothing Then Exit Sub
Range("b28:f46").Sort Key1:=Range("f27"), Order1:=xlAscending, Header:=xlYes
End Sub

si suponemos que los cambios ocurren por actualizacion de formulas (NO por entrada directa del usuario) -???-
el evento '_change' no te va a servir :-((

si suponemos que el evento debe restringirse a cambios SOLO en "cierta" columna... cual seria la columna ?

si suponemos que... -???????-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la propuesta anterior __
1) toma en cuenta que cada vez que se ejecutan macros, ocurre un vaciado del portapapeles
por lo que se pierde la caracteristica (o beneficio) del des-hacer, undo, ctrl-Z (por lo que)...

2) es conveniente que comentes los detalles concretos en relacion con el arreglo de tus datos
y (sobre todo) de cual columna estamos hablando para ordenar
(supongo que no debiera ser al cambiar "cualquier" dato en "cualquier" columna (por lo del undo) -???-

3) tambien podrias grabar una macro mientras realizas dichas acciones y luego modificar/adaptar/mejorar/... la grabacion
despues podrias copiar/mover el codigo del procedimiento grabado (p.e.) a los eventos de "esa" hoja -?-
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida