archivos csv

29/03/2009 - 21:02 por Demetrio Bujia | Informe spam
Hola

Uso office 2000 y recibi un archivo *.csv en la que tengo casillas como
fecha(dd-mm-aaaa), hora (hh:mm:ss) y otros datos como texto.
el problema es que al extraer los valores de fecha, y al querer
ordenarlos(le asigno a la casilla el formato de fecha personalizada
dd-mm-aaaa) no me los ordena como fecha, sino por dia1 del mes 1; dia 1
del mes 2, etc... es decir no me los ordena por año, mes, dia.
Como se hace para resolver este problema?
Pienso que tendre el mismo problema con las horas ya que hay varios
datos del mismo dia pero que cambia la hora.

Gracias

Demetrio

Preguntas similare

Leer las respuestas

#6 Lisandro Gracias
05/04/2009 - 20:49 | Informe spam
Héctor Miguel



Tenias razon, se podia hacer con las tres ultimas columnas primero y con las
otras tres despues.

Dame un poco mas de tiempo y te cuento como me va con la macro que me
escribistes.

Un saludo y mi agradecimiento por tu colaboracion


Lisandro











"Héctor Miguel" escribió en el mensaje de
noticias:#
hola, Lisandro !

__ 1 __
Intente ordenar de derecha a izquierda de tres en tres, pero no va.
Porque cuando me ordena por hora minuto segundo, me desordena las
fechas.. :-((



1) el "detalle" (seguramente) es que primero debes mantener seleccionado
TODO el rango
y la ordenacion la debes aplicar "empezando" por las 3 columnas mas a
la derecha
SIN de-seleccionar en cada ordenacion el rango completo -???-

__ 2 __
En cuanto a las macros, se hacer algunas no muy complejas con las
herramientas que da el Excel, pero soy nulo por programacion.
Se me ocurrieron dos cosas:
a) encontrar una macro que ordene por seis o mas criterios al mismo
tiempo. si es que alguien la hizo
b) una macro que a las columnas que tengan fechas u horas, de texto las
pase automaticamente a fecha - hora
y asi con estos dos criterios puedo usar el menu "ordenar" del Excel.
En cuanto a la macro que me pusiste, no se como usarla (asi de nulo soy).



2) la propuesta de macro ya mantiene seleccionado el rango completo (usa
la propiedad ".CurrentRegion" para ello)
solo debes copiar/pegar la macro en un modulo de codigo estandar en el
editor de vba (atajo: Alt + F11)
agregas un modulo (menu: insertar / modulo) y lo pegas en la ventana
"grande" que se abre para ese modulo

luego selecciona una celda "dentro" de la region total y ejecutas esa
macro

saludos,
hector.

__ OP __
... si uso otras tres columnas auxiliares para las horas, minutos y
segundos
al final no puedo ordenar todo bien ya que la opcion que me da el excel
son tres opciones por vez.
Y ordenar todo a mano no tengo tanto tiempo para hacerlo.
Hay alguna manera de ordenar teniendo en cuenta 6 criterios a la vez en
Excel?
O alguna macro?



puedes ordenar el rango completo por el menu si la ordenacion la llevas
a cabo de derecha a izquierda (3 en 3)
o por codigo (haciendo esto mismo) con una macro +/- como la siguente:

Sub OrdenarVariasColumnas()
Dim Col As Integer
With ActiveCell.CurrentRegion
For Col = .Columns.Count To 1 Step -3
Select Case Col
Case 1: .Sort _
Key1:=.Columns(Col), Order1:=xlAscending
Case 2: .Sort _
Key1:=.Columns(Col - 1), Order1:=xlAscending, _
Key2:=.Columns(Col), Order2:=xlAscending
Case Else: .Sort _
Key1:=.Columns(Col - 2), Order1:=xlAscending, _
Key2:=.Columns(Col - 1), Order2:=xlAscending, _
Key3:=.Columns(Col), Order3:=xlAscending
End Select
Next
End With
End Sub






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida