En versiones anteriores de Excel, presionar CTRL + A en una hoja de cálculo literalmente seleccionaría todas las celdas. En Excel 2010 (no estoy seguro acerca de 2007 o 2003), he notado que si presiona CTRL + A dentro de un bloque de celdas que contienen valores, parece saber seleccionar solo las celdas en ese bloque. Por ejemplo, si todas las celdas en el rango A1: D10 contienen valores y pulsa CTRL + A mientras la celda activa está en ese rango, solo seleccionará A1: D10. Si presiona CTRL + A nuevamente, solo entonces seleccionará todas las celdas en la hoja de trabajo.¿Cuál es el código de VBA que se debe emular al seleccionar un bloque con el atajo CTRL + A?
Así que grabé una macro para ver qué código de macro se generaba cuando hago esto, pero en realidad escribe Range("A1:D10").Select
cuando presiono CTRL + A. Esto es limitante y no dinámico porque ahora tengo que escribir mi propia lógica para determinar los límites alrededor de la celda activa. Eso no es difícil con métodos como ActiveCell.End(xlDown)
, pero me gustaría no tener que reinventar una rueda aquí.
¿Hay algún método de Excel VBA como ActiveCell.GetOuterRange.Select
? Eso estaría bien.