Karthi señala que a menudo necesita usar Ir a especial para seleccionar solo las celdas visibles en una selección. Esto le hace preguntarse si hay alguna forma de seleccionar esas celdas en una macro.

Hay numerosas formas en que solo las celdas visibles se pueden seleccionar sin una macro, pero no se explicarán aquí. El supuesto es que desea seleccionar las celdas visibles como parte de una macro más grande que puede estar creando. Por ejemplo, es posible que deba seleccionar las celdas visibles antes de realizar algún tipo de formateo o antes de procesar las celdas de alguna otra manera.

Para seleccionar solo las celdas visibles de un rango de celdas seleccionadas, puede usar la siguiente línea de código:

Selection.SpecialCells(xlCellTypeVisible).Select

Si necesita trabajar en algún otro rango inicial de celdas antes de seleccionar el subconjunto visible de esas celdas, todo lo que necesita hacer es cambiar la parte de «Selección» de la línea. Por ejemplo, puede seleccionar las celdas visibles en el rango usado de la hoja de trabajo usando esta línea:

ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Select

De manera similar, puede seleccionar todas las celdas visibles en toda la hoja de trabajo usando esta línea:

Cells.SpecialCells(xlCellTypeVisible).Select

Tenga en cuenta que las técnicas descritas hasta ahora seleccionan todas las celdas que están visibles, incluso si están fuera de la pantalla. En otras palabras, las técnicas seleccionan cualquier celda no oculta en la hoja de trabajo. Si realmente desea seleccionar solo las celdas no ocultas que están visibles en la pantalla en el momento actual, puede usar una técnica diferente:

Intersect(MyRange, ActiveWindow.VisibleRange).SpecialCells(xlCellTypeVisible)

El código comienza seleccionando solo aquellas celdas donde un rango dado (en este caso «MyRange») se cruza con el rango visible de celdas en la ventana activa. Estas celdas se eliminan aún más mediante el uso de la colección SpecialCells para asegurarse de que solo se utilicen celdas no ocultas.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (8524) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Selecting_Visible_Cells_in_a_Macro [Seleccionar celdas visibles en una macro].