Abrir hoja según valor dado a una celda del mismo libro

Tengo en mi libro una hoja "DIARIO" cuando pongo en la celda "A3" un valor (numérico de 1 a 4 dígitos), deseo ir a esa hoja que tiene ese nombre (número) y abrirla, si esta hoja no existe me lleve entonces a una hoja llamada "nuevo" y abrirla.

Al abrir cualquiera de las hojas seleccione la celda A15.

Todo dentro del mismo libro

2 respuestas

Respuesta
2

Entra al Editor, selecciona con doble clic la hoja DIARIO y allí coloca esta macro:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla lo ingresado en A3
If Target.Address = "$A$3" And Target.Value <> "" Then
  'controla posible error de ingreso dato no válido para hoja
    On Error GoTo sinHoja
    Sheets(Target.Text).Select
    hojita = Target.Value
    ActiveSheet.[A15].Select
End If
Exit Sub
sinHoja:
    Sheets("nuevo").Select
    ActiveSheet.[A15].Select
End Sub

Probala y si todo está correcto no olvides valorar esta respuesta para darla por cerrada.

Agradecido de su ayuda siempre.

Trabaja perfecto, ¿pero es posible que se realice al hacer click en un botón?

Saludos

Entra al Editor de macros, menú Insertar, Módulo y allí copia esto:

Sub buscaHoja()
'x Elsamatilde
'según el valor de A3 de hoja Diario se dirige a la hoja mencionada
If [A3] = "" Then Exit Sub
'controla posible error de ingreso dato no válido para hoja
On Error GoTo sinHoja
Sheets([A3].Text).Select
ActiveSheet.[A15].Select
Exit Sub
sinHoja:
    Sheets("nuevo").Select
    ActiveSheet.[A15].Select
End Sub

Ahora en la hoja Diario, desde la ficha Programador, Insertar, inserta un botón de la barra Formulario. 

Clic derecho sobre el botón, opción 'Asignar macro' y le asignas la que acabas de pegar en el módulo del Editor.

PD) En macro anterior sobra la línea que dice: hojita = Target.Text

Sdos!

Respuesta
-1

En el evento change de la hoja

If range ("a3").value = "1" Then

Hojax.select

End If 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas