Seleccionar de una lista la hoja a la que ir
Mi consulta es como crear una lista desplegable con nombres de las hojas del libro, en la lista selecciono el nombre y seleccionándolo debo ir a su hoja
He visto esto pero no se como hacerlo:
Sub Crearmenu()
Dim Hoja As Worksheet
On Error Resume Next
CommandBars("Menu de hojas").Delete
With CommandBars.Add(Name:="Menu de hojas")
With .Controls.Add(Type:=msoControlButton)
.OnAction = "Abraham"
.FaceId = 59
.TooltipText = "Acerca de..."
End With
With .Controls.Add(Type:=msoControlDropdown)
For Each Hoja In Worksheets
.AddItem Hoja.Name
.OnAction = "Irahoja"
.TooltipText = "Seleccione hoja"
Next
End With
.Visible = True
End With
End Sub
Sub Irahoja()
Dim strnombrehoja$
With CommandBars.ActionControl
strnombrehoja$ = .List(.ListIndex)
End With
Sheets(strnombrehoja$).Select
End Sub
Lo he probado pero con la de abajo me sale:
Se ha producido el error '91' en tiempo de ejecución: Variable del objeto o bloque with no establecido.
Si alguien me puede echar una mano.
Gracias
He visto esto pero no se como hacerlo:
Sub Crearmenu()
Dim Hoja As Worksheet
On Error Resume Next
CommandBars("Menu de hojas").Delete
With CommandBars.Add(Name:="Menu de hojas")
With .Controls.Add(Type:=msoControlButton)
.OnAction = "Abraham"
.FaceId = 59
.TooltipText = "Acerca de..."
End With
With .Controls.Add(Type:=msoControlDropdown)
For Each Hoja In Worksheets
.AddItem Hoja.Name
.OnAction = "Irahoja"
.TooltipText = "Seleccione hoja"
Next
End With
.Visible = True
End With
End Sub
Sub Irahoja()
Dim strnombrehoja$
With CommandBars.ActionControl
strnombrehoja$ = .List(.ListIndex)
End With
Sheets(strnombrehoja$).Select
End Sub
Lo he probado pero con la de abajo me sale:
Se ha producido el error '91' en tiempo de ejecución: Variable del objeto o bloque with no establecido.
Si alguien me puede echar una mano.
Gracias
1 Respuesta
Respuesta de Eduard Caballero
1