Excel - Nombre Interno de una Hoja

   
Vista:

Nombre Interno de una Hoja

Publicado por FernandoML (19 intervenciones) el 27/11/2011 09:54:56
Hola a todos, espero me puedan acosejar y ayudar.

Tengo una Hoja de Calculo en Excel 2007 a la cual le he creado una macro. Hasta ahora todo bien.

El problema que tengo es el siguiente:

A la hoja 1 le he puesto el Nombre de FACTURA pero de forma interna se sigue llamando Hoja1.
Lo que quiero a traves de una macro es obtener el nombre interno de la hoja de esta manera me dará igual que le cambien el nombre.

Existe alguna manera de hacerlo?

Muchas gracias a todos y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Nombre Interno de una Hoja

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 27/11/2011 12:42:44
el nombre interno no cambia, seguirá siendo Hoja1
el nombre 'externo' lo obtenés con Hoja1.Name

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nombre Interno de una Hoja

Publicado por FernandoML (19 intervenciones) el 28/11/2011 10:40:43
Antes de nada muchas gracias por contestarme JuanC

Hace un par de meses localice una instrucción que te decía el nombre interno vba que tenía la hoja pero he perdido el codigo.

Esto era muy util a la hora de imprimir una hoja, guardarla, etc...

Si podeis conseguir decirme como se hacia se agradece. En el caso que yo lo encuentre lo publicaré para todos los foreros.

Muchas gracias a todos y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nombre Interno de una Hoja

Publicado por FernandoML (19 intervenciones) el 28/11/2011 12:05:56
Hola a todos:

Me voy a respoder a mi mismo.

Encontre la instrucción que me dice como se llama de forma interna la hoja en los proyectos de vba.
Como sabeis cuando se abre un proyecto de vba, nos aparece algo parecido a esto.

Hoja1(Hoja1)
Hoja2(Hoja2)
Hoja3(Hoja3)

Ahora cuando un usuario cambia el nombre de la Hoja1 por otro como por ejemplo ("ANONIMO"), dentro del proyecto vba nos aparecerá de la siguiente manera.

Hoja1(ANONIMO)
Hoja2(Hoja2)
Hoja3(Hoja3)

Pues bien para evitar estar controlando constantemente cuando se cambia el nombre de la hoja. Uso la siguiente instrucción en el evento BeforePrint de (ThisWorkbook).

1
2
3
4
5
6
7
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Select Case ActiveSheet.CodeName
        Case "Hoja1":   'ANULO LA IMPRESION Y MUESTRO UN MENSAJE DE ERROR.
                        Cancel = True
                        msg = MsgBox("No se puede imprimir " & ActiveSheet.Name, vbCritical, "Acceso Denegado")
    End Select
End Sub


Bueno eso es todo.

Espero que le sirva a alguien y que le de una nueva idea para realizar sus macros.

Un saludo para todos y gracias por este gran foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar