ordenar columna de forma automática

10/03/2006 - 19:18 por neceo | Informe spam
como ordenar de manera automática, toda una columna. La idea es ir metiendo
códigos con un lector de c.barras, y que la tabla se vaya ordenando de
forma automática según se vayan introduciendo.
Un saludo
neceo

Preguntas similare

Leer las respuestas

#1 Marianoh
10/03/2006 - 20:42 | Informe spam
Hola neceo:

Si nombrás el rango a ordenar como "Rango_a_Odenar" (ya sea toda una
columna), el siguiente código en el módulo de la hoja ordenará los
datos cada vez que haya un ingreso dentro del rango. Cambiando Order1 y
Header se puede determinar el tipo de orden (ascendente en este caso) y
si el rango incluye o el encabezado.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Rango_a_Ordenar")) Is Nothing Then
_
Range("Rango_a_Ordenar").Sort _
Key1:=Range("Rango_a_Ordenar").Cells(1, 1), _
Order1:=xlAscending, Header:=xlYes
End Sub

Por si no sabés como incluir el código es:
Alt+F11, doble click en el nombre de la hoja y pegar el código en
el editor.

Saludos: Mariano
#2 Héctor Miguel
11/03/2006 - 08:53 | Informe spam
hola, 'anonimo/a' !

Mostrar la cita
suponiendo que la lectura de los c.barra se hace a traves de un puerto y una aplicacion 'externa'... [hasta donde se]
1) quien esta 'en control' de las acciones ES... -> el usuario/aplicacion [hasta que excel pueda 'encargarse de lo suyo']
2) NO existe codigo que pueda 'ejecutarse'... -> hasta que excel 'recupere' el control a la aplicacion
3) algunos 'eventos' por cambios no se disparan [segun versiones] por actualizaciones/refrescos/... de canales DDE
[como el _Change, _SelectionChange, etc.]
4) podrias intentar con propiedades como 'OnData' [de la aplicacion o de las hojas]
[NO tiene 'equivalente directo' en los eventos de Excel '97 y posteriores, pero... valdria la pena probar] ;)

o... 'SetLinkOnData' [del objeto libro]
a las cuales puedes asignarles procedimientos para ser ejecutados al 'recibirse' actualizaciones por vinculos DDE, OLE, etc.
-> la macro 'correria' -> hasta DESPUES de haberse realizado dicha actualizacion/consulta/refresco/...
5) podrian existir otras alternativas -?-

comentas algun detalle adicional ?
saludos,
hector.
#3 noticias
11/03/2006 - 17:25 | Informe spam
Gracias por la aportación, espero este fin de semana, hacer unas pruebas.
Un saludo.

"Marianoh" escribió en el mensaje
news:
Hola neceo:

Si nombrás el rango a ordenar como "Rango_a_Odenar" (ya sea toda una
columna), el siguiente código en el módulo de la hoja ordenará los
datos cada vez que haya un ingreso dentro del rango. Cambiando Order1 y
Header se puede determinar el tipo de orden (ascendente en este caso) y
si el rango incluye o el encabezado.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Rango_a_Ordenar")) Is Nothing Then
_
Range("Rango_a_Ordenar").Sort _
Key1:=Range("Rango_a_Ordenar").Cells(1, 1), _
Order1:=xlAscending, Header:=xlYes
End Sub

Por si no sabés como incluir el código es:
Alt+F11, doble click en el nombre de la hoja y pegar el código en
el editor.

Saludos: Mariano
#4 noticias
11/03/2006 - 17:29 | Informe spam
Gracías por tus comentarios, creo que al final tendré que dejarlo tal
cual.De todas formas lo intentaré.
Un saludo.
neceo.

"Héctor Miguel" escribió en el mensaje
news:urff$
Mostrar la cita
Ads by Google
Search Busqueda sugerida