xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


Crear enlaces a las hojas Excel

Si nuestro libro Excel contiene muchas hojas (hasta 256) convendría hacer una lista de enlaces a cada hoja. Esto puede ayudar mucho a los 'navegantes' de nuestros libros.

Y como siempre, esta lista se puede crear manualmente. O se puede recurrir a una macro de VBA, cual tardará al máximo un par de segundos para concluir el trabajo.

Procedimiento

Empezamos con un libro Excel cualquier, pero que tenga por lo menos dos hojas. Luego vamos a crear un módulo dentro de este libro. En este módulo escribimos el código.

Crear el módulo

Entra a Herramientas - Macros - Editor VBA. A la izquierda ves (si no lo ves CTRL+R) algo como "ProyectoVBA (Tu libro). Marca ese proyecto. Insertar - Módulo.

Doble click en el módulo nuevo, y a la derecha sale un espacio blanco, es para el código. Herramientas - Referencias. Marca Microsoft ActiveX DataObjects x.x Library.
Ahora cierras el editor VBA, vuelves a Excel. Guardamos el libro.

El código


Sub Links_hojas() Dim wrbLibro As Workbook Dim wrsHojaActiva As Worksheet, wsHoja As Worksheet Dim intFila, intColumna As Integer Set wrbLibro = ActiveWorkbook Set wrsHojaActiva = ActiveSheet 'en que fila/columna empezar la lista intFila = 4 intColumna = 1 'el bucle repasa todas las hojas For Each wsHoja In wrbLibro.Worksheets 'para excluir hoja de los links If wsHoja.Name = "Hoja4" Then GoTo ProxHoja 'crear links If wsHoja.Name <> wrsHojaActiva.Name Then wrsHojaActiva.HyperLinks.Add wrsHojaActiva.Cells(intFila, intColumna), _ "", SubAddress:="'" & wsHoja.Name & "'!A1", _> TextToDisplay:=wsHoja.Name intFila = intFila + 1 End If ProxHoja: Next wsHoja End Sub

Ejecutar macro

Para ejecutar esta macro entras a Herramientas - Macros. Allí encontrarás la macro "Conectar_Excel_ADO". Marca esta, y "Ejecutar".