• Skip to main content
  • Skip to primary sidebar
Tu Tiempo es oro - Jose Manuel Lodeiro Consultor y Formador Microsoft Excel y Macros VBA

Tu tiempo es oro

Excel, Zapier y otras herramientas

  • Blog
  • Quién soy
  • Contacto

Seleccionar todas las hojas de trabajo visibles con una macro

7 mayo 2021 by Leave a Comment

En Excel, seleccionar todas las hojas de trabajo visibles es tan fácil como hacer clic con el botón derecho en cualquier pestaña de la hoja y elegir Seleccionar todas las hojas. Sin embargo, realizar la misma tarea con un macro VBA es más difícil.

La ayuda en línea de Excel sugiere el uso de la función Matriz con la colección Sheets para seleccionar hojas por nombre. Esto funciona muy bien cuando conoces los nombres de cada hoja del libro de trabajo. Esto plantea un problema cuando deseas crear un código genérico para seleccionar todas las hojas para cualquier libro de trabajo. La buena noticia es que puedes utilizar una variante de la técnica de Microsoft para hacer referencia a hojas por número de índice. A continuación se muestra el código:

Sub SelectSheets()

Dim myArray() As Variant

Dim i As Integer

For i = 1 To Sheets.Count

ReDim Preserve myArray(i – 1)

myArray(i – 1) = i

Next i

Sheets(myArray).Select

End Sub

Esto funciona muy bien, a menos que el libro de trabajo contenga hojas ocultas. Por supuesto, el código anterior se puede adaptar para ignorar las hojas de trabajo ocultas:

Sub SelectSheets()

Dim myArray() As Variant

Dim i As Integer

Dim j As Integer

j = 0

For i = 1 To Sheets.Count

If Sheets(i).Visible = True Then

ReDim Preserve myArray(j)

myArray(j) = i

j = j + 1

End If

Next i

Sheets(myArray).Select

End Sub

Mediante el parámetro Replace, seleccionar todas las hojas visibles se vuelve mucho más fácil:

Sub SelectSheets1()

Dim mySheet As Object

For Each mySheet In Sheets

With mySheet

If .Visible = True Then .Select Replace:=False

End With

Next mySheet

End Sub

Ten en cuenta que mySheet se define como un Object, en lugar de un Worksheet. Esto se hace porque cuando realice pruebas encontré un problema con las hojas de gráficos: no se seleccionaban porque no eran de un tipo de hoja de trabajo.

Este consejo se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Filed Under: Uncategorized

Reader Interactions

Deja una respuesta Cancelar la respuesta

Lo siento, debes estar conectado para publicar un comentario.

© 2023 · Academia by AsiThemes · Las ilustraciones utilizadas en el theme son de Ouch