Como puedo ir directamente a una hoja de excel a traves de codigo

11/03/2005 - 21:08 por Luis Fernando Vargas Díaz | Informe spam
Buenas tardes:

Tengo un libro con muchas hojas y necesito que a través de una macro se cree
un cuadro combinado que me muestre los nombres de las hojas ordenadas
alfabéticamente, y al seleccionar una de ellas, el mismo código me envíe a
esa hoja.

Tambien podría ser que se digite el nombre de la hoja y se dé click a un
botón y este tenga código para que me envíe a la hoja digitada.

Alguien me puede brindar una mano??

Gracias y saludos a tod@s

Preguntas similare

Leer las respuestas

#1 Anonimo
11/03/2005 - 22:08 | Informe spam
No es necesario una macro, pulsa con el boton secundario
del raton, en las flechas de desplazamiento de las hojas,
en el angulo inferior izquierdo, y te salen todas las hojas.



Buenas tardes:

Tengo un libro con muchas hojas y necesito que a través de


una macro se cree
un cuadro combinado que me muestre los nombres de las


hojas ordenadas
alfabéticamente, y al seleccionar una de ellas, el mismo


código me envíe a
esa hoja.

Tambien podría ser que se digite el nombre de la hoja y se


dé click a un
botón y este tenga código para que me envíe a la hoja


digitada.

Alguien me puede brindar una mano??

Gracias y saludos a






.

Respuesta Responder a este mensaje
#2 KL
12/03/2005 - 00:00 | Informe spam
Hola Luis Fernando,

A continuacion te pongo mi posting q realice hace unas horas respondiendo a
una pregunta parecida.

Saludos,
KL

-
Hola Jose Luis,

"José Luis" wrote in message
news:
A ver si me podeis ayudar. Tengo un libro con más de 20 hojas y necesito
hacer un cuadro combinado que me recoja los nombres de las hojas ordenadas
alfabéticamente, y al seleccionar una me vaya directamente a esa hoja.
Una cosa más: las dos primeras hojas son "Inicio" y "Global"... y esas no
deberían aparecer en el combo.

¿Esto es posible? Por más que he mirado en Google y en el grupo, no he
encontrado nada.
Gracias de antemano



Si que es posible. A continuacion te pongo una serie de macros q llenaran la
lista de validacion de la celda [A1] de la hoja "Hoja1" con los nombres de
todas las hojas del libro menos la 1a y la 2a ordenados alfabeticamente, y,
al seleccionar una de las opciones, activaran la hoja q tenga el nombre
seleccionado. La pregunta del millon es: ?A q evento puedo asociar la
actualizacion de la lista para q me tome en cuenta en tiempo real los
posibles cambios de nombre de hoja e insercion de nuevas hojas? Lo segundo
es facil y se consigue usando el evento Workbook_NewSheet. La solucion para
lo primero es mas compleja - consulta este enlace: http://tinyurl.com/6koh8
(ojo, leelo atentamente hasta el final - es q incluso los "Monstruos de
Excel" como Laurent Longre se equivocan a veces).

Saludos,
KL

'Inicio Codigo (Modulo1)
Sub Actualizar_Combo()
Dim Lista As New Collection
Dim Opciones As String
Dim hoja As Long
Dim i As Long, j As Long
Dim Swap1, Swap2

On Error Resume Next
With ThisWorkbook
For hoja = 3 To .Sheets.Count
Lista.Add .Sheets(hoja).Name, .Sheets(hoja).Name
Next hoja
On Error GoTo 0
For i = 1 To Lista.Count - 1
For j = i + 1 To Lista.Count
If Lista(i) > Lista(j) Then
Swap1 = Lista(i)
Swap2 = Lista(j)
Lista.Add Swap1, before:=j
Lista.Add Swap2, before:=i
Lista.Remove i + 1
Lista.Remove j + 1
End If
Next j
Next i

For i = 1 To Lista.Count
If Opciones <> "" Then Opciones = Opciones & ","
Opciones = Opciones & Lista(i)
Next i

With .Sheets("Hoja1").Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:=Opciones
End With
End With
End Sub
'Fin Codigo (Modulo1)

'Inicio Codigo (Modulo de la "Hoja1")
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim hoja As Object
If Intersect(Target, Me.Range("A1")) Is Nothing Then Exit Sub
On Error Resume Next
Set hoja = ThisWorkbook.Sheets(Me.Range("A1").Value)
On Error GoTo 0
If Not hoja Is Nothing Then
If hoja.Visible = True Then
Call Actualizar_Combo
hoja.Activate
Else
MsgBox "La hoja " & hoja.Name & " esta oculta" _
& " y no puede ser activada."
End If
Else
MsgBox "La hoja " & Range("A1").Value & " no existe" _
& " en este libro."
Call Actualizar_Combo
End If
End Sub
'Fin Codigo (Modulo de la "Hoja1")


'Inicio Codigo (Modulo EsteLibro/ThisWorkbook)
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Call Actualizar_Combo
End Sub

Private Sub Workbook_Open()
Call Actualizar_Combo
End Sub
'Fin Codigo (Modulo EsteLibro/ThisWorkbook)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida