Una macro de Excel para ocultar todo menos la hoja de trabajo activa

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Una macro de Excel para ocultar todo menos la hoja de trabajo activa

Libro Relacionado

Macros de Excel para tontos

Por Michael Alexander

Puede que desee ocultar las hojas de trabajo inactivas con esta macro. Excel no le permite ocultar todas las hojas de un libro de trabajo; al menos una tiene que ser mostrada. Sin embargo, puede ocultar todo excepto la hoja activa.

Cómo funciona la macro

La macro se desplaza por las hojas de trabajo y hace coincidir cada nombre de hoja de trabajo con el nombre de la hoja activa. Cada vez que la macro se buclea, oculta cualquier hoja de trabajo sin igual.

SubMacro1()'Paso 1: Declarar sus variables Dim ws Como Hoja de Trabajo'Paso 2: Comenzar a recorrer todas las hojas de trabajo Para Cada ws En EsteLibro.Hojas de Trabajo'Paso 3: Revisar el nombre de cada hoja de trabajo Si ws.Name <> EsteLibro.ActiveSheet.Name Entonces'Paso 4: Ocultar la hoja ws.Visible = xlSheetHidden End Si'Paso 5: Hacer un bucle a la siguiente hoja de trabajo Siguiente wsEnd Subhoja

El paso 1 declara un objeto llamado ws. Este paso crea un contenedor de memoria para cada hoja de trabajo por la que pasa la macro.

El paso 2 comienza el bucle, diciéndole a Excel que evalúe todas las hojas de trabajo de este libro de trabajo. Observe la diferencia entre ThisWorkbook y ActiveWorkbook. El objeto ThisWorkBook se refiere al libro de trabajo que contiene el código. El objeto ActiveWorkBook se refiere al libro de trabajo actualmente activo. A menudo devuelven el mismo objeto, pero si el libro de trabajo que ejecuta el código no es el libro de trabajo activo, devuelven objetos diferentes. En este caso, no quieres arriesgarte a esconder hojas en otros libros de trabajo, así que utiliza ThisWorkBook.

En el Paso 3, la macro simplemente compara el nombre de la hoja activa con la hoja que está siendo enlazada.

Si los nombres de las hojas son diferentes, la macro oculta la hoja en el paso 4.

En el Paso 5, se retrocede para obtener la siguiente hoja. Después de evaluar todas las hojas, la macro termina.

Tenga en cuenta que utiliza xlsheetHidden en su macro. Esta propiedad aplica el estado de ocultación predeterminado que obtendría normalmente al hacer clic con el botón derecho en una hoja y seleccionar Ocultar. En este estado de ocultación predeterminado, el usuario puede hacer clic con el botón secundario en cualquier ficha y elegir Desocultar, que muestra todas las hojas ocultas. Pero otro estado oculto es más clandestino que el predeterminado. Si utiliza xlSheetVeryHidden para ocultar sus hojas, los usuarios no podrán verlas en absoluto, incluso si hacen clic con el botón derecho del ratón en una ficha y eligen Desocultar. La única manera de desocultar una hoja escondida de esta manera es usar VBA.

Cómo utilizar la macroinstrucción

Para implementar esta macro, puede copiarla y pegarla en un módulo estándar:

  1. Active Visual Basic Editor presionando Alt+F11.
  2. Haga clic con el botón derecho del ratón en el nombre del proyecto o libro de trabajo en la ventana del proyecto.
  3. Elija Insert→Module
  4. Escriba o pegue el código en el módulo recién creado.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *