Ultima fila ocupada

Aporta tus macros y códigos Excel de interés para la comunidad.
Reglas del Foro
En este foro solo puedes aportar macros y códigos Excel de interés para la comunidad (no es para hacer preguntas!)
  • Anuncio
Manual Excel avanzado

Ultima fila ocupada

Notapor TodoExcel » 15 Mar 2010 09:17

Existen varias formas de determinar la última fila ocupada de una hoja.
Sin embargo la mayoría no dan resultados exactos siempre.
Primero ponemos los q dan problemas y al final ponemos la que no falla nunca!

LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
(no es muy exacta)

LastRowColA = Range("A65536").End(xlUp).Row
(solo evalúa columna A y no considera q Excel 2.007 tiene más filas)

LastRow = ActiveSheet.UsedRange.Rows.Count
(no es muy exacta)

LastRow = MiHoja.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
(esta no falla nunca!)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
TodoExcel
Manager Exceluciones
Manager Exceluciones
 
Registrado: 05 Jun 2004 16:05

Re: Ultima fila ocupada

Notapor Adrian » 15 Mar 2010 10:00

Buena Aportación y/o acotación, pero me atrevo a realizar una obervación, en cuanto:

LastRowColA = Range("A65536").End(xlUp).Row
(solo evalúa columna A y no considera q Excel 2.007 tiene más filas)

Debido a que puede ser una sola columna que se desea evaluar, para mi es subjetivo destacar cual es más o menos eficaz.

En cuanto a:
LastRow = MiHoja.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
(esta no falla nunca!)

No la sabia, tratatré de interpretarla, busca en la hoja "todo" (esto es el "*" comodín), por fila, es como un Do While Not EOF en una BD.

Salu2.xlsm
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Ultima fila ocupada

Notapor Milton Cordova » 14 Abr 2010 05:16

SALUDOS
Me pueden dar mayor informacion de como utilizar esta macro: soy muy novato quisiera saber por ejem. como aplicar en una columna A desde A4:A50
la Hoja podria llamarse "SEG"
Que significa "*"
MiHoja.

Gracias por su atención
miltonm@andinanet.net


LastRow = MiHoja.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Milton Cordova
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Abr 2010 23:34


Volver a Macros, programación y códigos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados