Navegador de hojas Excel 2010

En excel 2010 y versiones anteriores, podemos navegar entre las hojas de un libro mediante los tabs que se encuentran en la parte inferior. Además con las flechitas que tiene en forma de triángulo o haciendo click derecho sobre ellos, con lo que aparecerá una ventanita flotante con todas las hojas que contiene el libro. Este post explica cómo hacer que aparezca una ventana similar al hacer click derecho sobre cualquier celda. Ver la figura de abajo.

Este navegador de hojas lo haremos mediante el uso del siguiente código (puedes copiarlo y pegarlo en un modelo de VBA, no debes copiar los números de la izquierda sólo son de referencia):

Public Sub Navegador()
Dim AppCB As Object
Dim Bar As Object
Application.CommandBars("Cell").Reset 'vuelve todo a la normalidad
Set AppCB = Application.CommandBars 'define el objeto AppCB
'Agrega el control Indice de Hojas
Set Bar = AppCB("Cell").Controls.Add(Type:=msoControlButton, Temporary:=True)
With Bar 'Añade las caracterìsticas del control
  .BeginGroup = (1) ' Inicia nuevo grupo
  .Tag = "NavegaHojas"
  .Caption = "Indice de Hojas" 'Nombre
  .OnAction = "IndexCode"
  .FaceId = 7
End With
End Sub

De morado y precedido de una apóstrofe están los comentarios. Aquí una breve explicación de lo que significa el código. Lineas 01 y 15 abren y cierran el procedimiento sub respectivamente. Lineas 02 y 03 se definen objetos. La línea 04 elimina si es que había alguna otra función añadida al menú en celdas. Línea 05 define el objeto AppCB como las barras de comando de excel. Línea 07 añade a la barra de comando “Cell” (celdas”) un nuevo botón de control, 08 usa la función with que hace referencia a Bar de la línea 07. Línea 09 hace una línea divisoria antes del último button control antes de añadir el nuevo control. Línea 10 tag del control, con este nombre se le puede buscar. Línea 11 nombre con que aparecerá el control. Línea 12 indica el código que se ejecutará. Línea 13 ícono para el control, línea 14 cierra el with abierto antes.

IndexCode, tiene como código (tienes que pegarlo en el mismo módulo, hace que se muestre el menu al hacer click derecho):

Sub IndexCode()
Application.CommandBars("Workbook Tabs").ShowPopup
End Sub

Adicionalmente se necesita un código que llame a Navegador, eso se hace con el sigueinte código que hace que dse realice automaticamente cada vez que se hace click derecho (debes pegarlo en el mismo módulo):

Public Sub Auto_Open()
Call Navegador
End Sub

Suerte, esto te sirve para versiones anteriores de Excel como Excel 2003 ó 97. Descarga este archivo haciendo click aquí.

Posted in excel, excel programming, excel vba ejemplos Tagged with:

Facebook comments:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Make a computation for validation *
Time limit is exhausted. Please reload CAPTCHA.

Traducir

Read previous post:
Ver las fórmulas como comentarios de celda

En este post enseñaré un par de formas de trabajo para ver las fórmulas de un archivo Excel. En primer...

Close