Problema macro ir celda activa excel

Tengo la siguiente macro con la que tu me ayudaste:

Sub BuscarHoja()
Dim Nombrehoja As String, Cadena As String, MiCelda As String
If ActiveCell.End(xlUp).HasFormula = False Then
    Cadena = ActiveCell.End(xlUp).Offset(-1, 0).MergeArea.Address
    MiCelda = Left(Cadena, InStr(1, Cadena, ":") - 1)
    Let Nombrehoja = ActiveCell.Text & "-" & Range(MiCelda).Text & "-" & Range("P2").Value
    Sheets(Nombrehoja).Select
Else
    Let Nombrehoja = ActiveCell.Text & "-" & ActiveCell.End(xlUp).Text & "-" & Range("P2").Value
    Sheets(Nombrehoja).Visible = True
    Sheets(Nombrehoja).Select
    Sheets(Nombrehoja).Range("A1:L20").Select
    ActiveWindow.zoom = True
    Sheets(Nombrehoja).Range("b2").Select
    Sheets(Nombrehoja).ScrollArea = "a1:j66"
End If
End Sub

Pues bien, solo me funciona con la "hoja2" que seria de nombre (1-enero-2018). Con esta hoja funciona a la perfección, después de utilizarla con otra macro la oculto y vuelve a la hoja inicia, (calendario anual) y si vuelvo a repetir me dirige a ella aun estando oculta, me la muestra, y también me respeta el scrollArea que tengo. Esto solo lo hace con esta hoja. 

Con el resto de hojas solo las encuentra si están visibles, si están ocultas me da error 400, y no me respeta scrollArea.

No se si habré hecho algo mal, supongo que si.

1 respuesta

Respuesta
1

[Hola

Yo borro todos los archivos de ejemplo así que sugiero, para poder entender/reproducir tu problema, que coloques el archivo en un "Drive" y lo compartas por aquí.

Saludos]

Abraham Valencia

Hola disculpa,

https://drive.google.com/file/d/1Mn4hf0yTZg48WTSgaH9X3pQ5Tm7Fuea-/view?usp=sharing 

Ahí te dejo el ejemplo espero puedas ayudarme

Un saludo

[Hola

Solo faltaba agregar una línea que haga visible la hoja; solo la pusiste en una alternativa:

https://1drv.ms/x/s!ApkTgtnWCTgAjQuF1_v9gnhaCU5i 

Otra cosa, no es necesario hacer una macro por cada hoja para que regrese al calendario, mira lo que hice.

Saludos]

Abraham Valencia

Perfecto, ha quedado genial y te agradezco el detalle de la macro para volver al indice, no había caído en hacerlo así.

¿Sabes por qué la ultima línea del código solo funciona con la primera hoja?

Cuando voy a 1-enero-2018 me respeta la zona delimitada en la línea y no me deja moverme más por la hoja, pero en el resto no lo hace.

Muchas gracias de nuevo, va genial.

Sheets(Nombrehoja).ScrollArea = "a1:j66"

Solucionado, la he movido de sitio y ahora todas las hojas están limitadas al rango especificado.

Muchas Gracias

Excelente. De nada y, nos vemos.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas