Navegar

Tengo 13 hojas de excel (enero 2010, febrero 2010,... Y C RECARGOS 10) cada una tiene un cuadro combinado (control de formulario) este cuadro muestra los nombre de las hojas de la siguiente manera (enero, febrero, marzo... C recargos) y todos los cuadros konbinados están vinculados con la misma celda "$XFA$1" que esta en la hoja C RECARGOS 10, cuando selecciono un valor del cuadro combinado, modifica el valor de "$XFA$1" por enero = 1, febrero =2 y así sucesivamente, a los cuadros combinados les asigne el mismo macro a todos por igual, el macro aparece abajo
Sub Navegar10()
If Worksheets("C RECARGOS 10").Range("$XFA$1").Value = 1 Then
Sheets("ENERO 2010").Select
End If
Sub Navegar10()
If Worksheets("C RECARGOS 10").Range("$XFA$1").Value = 2 Then
Sheets("FEBRERO 2010").Select
End If ... ..... .....
... Etc. El libro cuenta con una macro que cambia los nombres de las hojas según el año que se le indique, por ejemplo, enero 2010 ó enero 2009, como se darán cuenta unikament cambio el 10 por 09 y así lo aria según el año que se indique, entonces la macro arriba eskrita queda inservible por que el objeto al que hace la referencia ia no existe, debido al cambio del nombre, una cosa que es important, es que el macro de navegar esta en el libro de macros personal de excel, esto por que para mi es más komodo, que tener que introducir el mismo macro a varios libros. ¿Cómo puedo hacer que el macro siga funcionando aun que el nombre cambie?, please, soy malo para esto je je, pero quiero aprender, y me ayuda mucho en mi trabajo, gracias de antemano, por su tiempo y atención.

1 Respuesta

Respuesta
1
Te dejo un ejemplo ajustado de tu rutina. Tenés que establecer de algún modo, el año en la variable 'anio'
Sub Navegar10()
'x Elsamatilde
anio = "09"    'revisar cómo se asignará el año
'COLOCO EN LA VARIABLE EL NBRE DEL MES SEGÚN VALOR DE CELDA
If Worksheets("C RECARGOS 10").Range("$XFA$1").Value = 1 Then
    nbreHoja = "ENERO " & anio
End If
If Worksheets("C RECARGOS 10").Range("$XFA$1").Value = 2 Then
    nbreHoja = "FEBRERO " & anio
End If
'OTROS VALORES
'AHORA SELECCIONO LA HOJA
Sheets(nbreHoja).Select
End Sub
Y si quieres aprender... te recomiendo mi manual Programación VBA, este mes con 1 guía temática de regalo !
Muchas gracias Elsa, he adaptado algunos detalles a la macro y me ha funcionado de maravilla, gracias por tu tiempo, y por el conocimiento que me has aportado de forma directa e indirecta. Se reconoce y aprecia tu trabajo, Graciiiias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas