Seleccionar un rango luego de la ultima celda escrita
publicado
Saludos:
Tengo una tabla ya definida con un rango de B9:I250. No importa si usas las primeras 10 o las utilizas todas siempre es el mismo rango. Yo tengo un macro VBA donde primero sorteo en una columna en particular y en orden ascendente con el propósito de colocar todas la información en orden y evitar que hayan espacios en la tabla. Luego de sortear, identifico la ultima celda escrita y borro cierta información que pueda haber en otras columnas. Por ejemplo siempre termino sorteando la columna B, si en la celda X de la columna B no hay nada escrito entonces puedo borrar la información que haya en las columnas C,D, H. Sim embargo esto lo logro utilizando la función de Offset y cuando se trata de muchas lineas se puede demorar el proceso.
Me gustaría saber como puedo hacer que al identificar que la ultima celda que tenga información en la columna B yo pueda escoger un rango a partir de la próxima fila. Por ejemplo: si la ultima celda escrita es la celda B60 yo pueda seleccionar de una vez el rango C61:D250 y luego hacer lo mismo para H61:H250. Así me evito la función de offset.
Yo pensé que podia hacer esto:
Asigne una variable llamada P
P = Selection.Row --> esto me da un numero entero POR EJEMPLO 61, luego intente esta barbaridad...jejej
Range ("C(P):D250").Select
Selection.ClearContents
PERO DEFINITIVAMENTE NO ME FUNCIONO
GRACIAS
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Saludos:
Tengo una tabla ya definida con un rango de B9:I250. No importa si usas las primeras 10 o las utilizas todas siempre es el mismo rango. Yo tengo un macro VBA donde primero sorteo en una columna en particular y en orden ascendente con el propósito de colocar todas la información en orden y evitar que hayan espacios en la tabla. Luego de sortear, identifico la ultima celda escrita y borro cierta información que pueda haber en otras columnas. Por ejemplo siempre termino sorteando la columna B, si en la celda X de la columna B no hay nada escrito entonces puedo borrar la información que haya en las columnas C,D, H. Sim embargo esto lo logro utilizando la función de Offset y cuando se trata de muchas lineas se puede demorar el proceso.
Me gustaría saber como puedo hacer que al identificar que la ultima celda que tenga información en la columna B yo pueda escoger un rango a partir de la próxima fila. Por ejemplo: si la ultima celda escrita es la celda B60 yo pueda seleccionar de una vez el rango C61:D250 y luego hacer lo mismo para H61:H250. Así me evito la función de offset.
Yo pensé que podia hacer esto:
Asigne una variable llamada P
P = Selection.Row --> esto me da un numero entero POR EJEMPLO 61, luego intente esta barbaridad...jejej
Range ("C(P):D250").Select
Selection.ClearContents
PERO DEFINITIVAMENTE NO ME FUNCIONO
GRACIAS