Ir a una hoja por el valor variable en una celda

Tengo un libro de excel con 1120 hojas. La primera es una hoja que se llama 'comprobador', y las 1119 restantes están nombradas por números de cinco cifras ordenadas de manera descendente a partir de la nombrada como 'comprobador'.
Me gustaría saber si existe alguna macro que me permita ir a una hoja determinada en función del valor que escriba en la celda (por ejemplo) "A1" que se corresponda con el nombre de una hoja.
Por si no me he explicado bien la cuestión es la siguiente:
a) Escribo, en la celda "A1", el número 53234.
b) Ejecuto la macro y el libro se abre por la página con dicho número.

1 Respuesta

Respuesta
2
Suponiendo que pones el nombre de la página en la celda A1 de la hoja "comprobador", la macro sería:
sub irAUnaPagina()
    on error resume next ' por si acaso la hoja no existe
    sheets(sheets("comprobador").Range("A1")).select
    if err<>0 then msgbox "La página indicada no existe"
    on error goto 0
end sub
(No la he probado, pero creo que está bien)
Buenas noches:
    Lo primero agradecer la respuesta, aunque no es eso lo que yo quiero averiguar.
    He creado un libro con seis hojas y las he puesto un número a cada una de ellas; he creado la macro de acuerdo con lo contestado por usted (copiar y pegar) y en la celda "a1" de la que he llamado "comprobador" he escrito el nombre de una de las hojas, y, al ejecutar la macro, siempre me dice que: "La página indicada no existe".
    La verdad es que las hojas sí existen y, por otra parte, lo que yo quiero es que, cuando se ejecute la macro, me lleve a la hoja que se llame igual que el valor que introduzca en la celda "a1" (u otra) de la hoja "comprobador".
    Ejemplo: en la celda "a1" escribo 10009, y al ejecutar la macro, se abre (se desplaza) a dicha hoja.
    En cualquier caso, con independencia de la obtención de una respuesta satisfactoria, reitero mi agradecimiento por el interés.
Es posible que, al contener A1 un valor numérico, la instrucción 'shets(...)' esté intentando acceder a la página que tiene ese número de orden.
La solución, poner que convierta a texto el contenido de esa celda. Sería poner esto:
Sheets(Format$(Sheets("comprobador").Range("A1"))).Select
Buenas tardes, experto.
    Muchas gracias, tanto por la respuesta, que es excelente (funciona a la perfección), como por la rapidez en la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas