Ultima fila en Excel

328 views
Skip to first unread message

Daniel Del Giudice

unread,
Nov 4, 2014, 4:56:08 PM11/4/14
to publice...@googlegroups.com
Hola amigos,

OJO con esta función, es traicionera:

loexcel.APPLICATION.activesheet.usedrange.ROWS.COUNT

Desde siempre la he utilizado para conocer la última fila de una hoja excel, para después recorrer cada fila y obtener los datos de cada una vía automatización. Está en las rutinas más comunes que andan dando vueltas por ahí para importar desde Excel. El problema es que si hay filas en blanco antes de los datos no son tomadas en cuenta.

Ejemplo:

Si tenemos una lista de colores en una sola columna....

Fila 1: (CELDA EN BLANCO)
Fila 2: (CELDA EN BLANCO)
Fila 3: Verde
Fila 4: Azul
Fila 5: Rojo

.rows.count NO va a devolver 5, sino 3. Por lo tanto al hacer un loop desde 1 hasta 3 van a quedar 2 valores sin leer. Si alguien conoce la función para obtener la última fila con valores, sin depender de una columna en particular, bienvenidos. Yo no soy bueno con la automatización. Mientras tanto lo resolví desde fox alterando el contador cuando los valores están en blanco. Ah, y si hay filas en blanco en el medio de las filas con datos SI las cuenta.

Saludos,

Daniel Del Giudice
Santiago del Estero
Argentina


Ricardo Pina

unread,
Nov 4, 2014, 5:04:30 PM11/4/14
to Grupo VFP
Hola Daniel

Prueba con esto

#Define xlLastCell 11
oExcel = Createobject("Excel.Application")
....
....
lcLastCell = oExcel.ActiveCell.SpecialCells(xlLastCell).Address()
lcLastRow = oExcel.ActiveCell.SpecialCells(xlLastCell).Row

Saludos

--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

Daniel Del Giudice

unread,
Nov 4, 2014, 5:57:29 PM11/4/14
to publice...@googlegroups.com
Perfecto! Ese es el comando que hay que utilizar. ¡Gracias Ricardo!
Reply all
Reply to author
Forward
0 new messages