jueves, 12 de diciembre de 2013

Seleccionar una columna completa utilizando Macros


Me consultaron hace algunos meses como poder seleccionar una columna que tiene celdas vacías automáticamente con Macros.

La respuesta es muy sencilla, y pido las respectivas disculpas por no haber respondido antes esta consulta.

El código que debemos incluir es el siguiente:

Range("B1").Select
'Posicionarse en la primera celda de la columna que deseo seleccionar

finlin = ActiveSheet.Cells(65000, 2).End(xlUp).Row
'Me devuelve la ultima fila de la columna que deseo seleccionar.

Range("B1:B" & finlin).Select
'Selecciona desde la celda B1 hasta la ultima celda escrita de esa columna

Selection.Copy
'Copia la seleccion

Quiero detenerme un segundo en explicar la lógica de este proceso, y luego una instrucción que utilice.

La lógica es muy sencilla, como vemos en la imagen inicial, tengo varios espacios dentro de la columna B, es por ello, que no puedo ir desde arriba a buscar la ultima fila, y lo que hacemos es buscar desde abajo la primera fila escrita

Es por ello que usamos Cells(65000,2).

Esa instrucción indica que a partir de la celda B65000 (el numero 2 representa la columna B y el 65000 representa la fila 65000) suba y busque la ultima fila escrita (xlUp)


Usamos 65000 ya que el Excel 2003 solo tiene 65536 filas, pero si usamos el Excel 2007 o superior podríamos usar 1000000 (el número un millón).

Espero que les sirva

Saludos

Ing. Enrique Neciosup Morales