domingo, 8 de marzo de 2015

Encontrar la última fila con datos usando Excel VBA

ENCONTRAR LA ÚLTIMA FILA CON DATOS USANDO EXCEL VBA

Cuando estamos trabajando sobre una hoja de cálculo en excel, queremos saber como encontrar la ultima fila con datos, ya que es necesario para alguna macro que estemos realizando.
Para esto voy a mostrar unos ejemplos de como obtenerlo.

Cuando los datos NO son continuos y existe alguna fila vacia
A veces cuando existe una fila vacia es necesario que el cursor se dirija a la ultima fila que en este caso es la fila 9. Estas funciones son aptas para estos casos.




Usando el objeto Range

Sub Contar_ultima_Celda()
    R = Range("A" & Rows.Count).End(xlUp).Row
End Sub

Usando el objeto Cells

Sub Contar_ultima_Celda2()
    R = Cells(Rows.Count, 1).End(xlUp).Row
End Sub

Cuando los datos son continuos y no hay espacios en blanco en una fila
En el caso que no hayan espacios en blanco que pueda cortar el recorrido del cursor fácilmente se puede utilizar las siguientes funciones. También se puede hacer uso del código anterior


 Sub UltimaFila3()
     j = Range("A1").End(xlDown).Row
End Sub

Sub Contar_ultimaFila4()
r = Cells(1, 1).End(xlDown).Row
End Sub

OBTENER LA  ULTIMA POSICION DE COLUMNA CON DATOS

Con ambas funciones se puede saber la posicion de la ultima columna con datos.


Sub UltimaColumna()
      r = Cells(1 & Columns.Column).End(xlToLeft).Column
End Sub

Sub UltimaColumna2()
     r = Cells(1, 1).End(xlToRight).Column
End Sub

Para que puedan ver la posicion de la ultima fila o columna con datos se puede incluir dentro de cada subrutina un mensaje con la variable que almacena la posicion:

MsgBox "Posicion de la columna " & r


 Espero que les haya sido de mucha utilidad, y ala espera de sus comentarios.

2 comentarios:

  1. como hago la suma de las dos ultimas columnas variables, con macro

    ResponderEliminar
  2. Hola,supongamos que las ultimas celdas que quieres sumar estan en las columns A y B, por lo tanto tendrias que utilizar este codigo. Fijate que estoy mostrando la suma en un mensaje, tu podrias colocarlo en la celda que necesites.
    Sub Contar_ultima_Celda()
    R = Cells(Rows.Count, 1).End(xlUp).Row
    SumaUltimasCeldas=Range("A" & R).value+Range("B" & R).value
    msgbox SumaUltimasCeldas
    End Sub

    ResponderEliminar

Cargar multiples archivos txt en SSIS

 Fuentes Archivos planos Descargar AQUÍ los archivos Consulta SQL de creacion de tabla Despacho en SQL Server CREATE TABLE [dbo].[Despacho]...