Excel - H4 = NOMBRE DE LA HOJA

 
Vista:
Imágen de perfil de Agradecido

H4 = NOMBRE DE LA HOJA

Publicado por Agradecido (7 intervenciones) el 25/09/2006 16:09:52
Muy buenas!!!! Y Gracias!!!!

Estos días me siento como un niño con juguete nuevo, descubriendo cada día cosas nuevas sobre las macros del Excel, y acordandome de aquellas fórmulas infinitas que utilizaba hace tan solo una semana, y todo tipo de remedios caseros para resolver los problemas. Las macros están siendo para mi, lo que la máquina de vapor para la humanidad, lo que sin vuestra ayuda no hubiese conocido.....

El problema que tengo hoy es el siguiente:
Aunque ya estoy descubriendo como escribir relaciones entre casillas en una macro, tengo un problemilla con el nombre de la hoja. Con la ayuda del gran José Luis, he conseguido "terminar" una macro que me crea una hoja nueva. He añadido nuevas acciones que en un primer momento ni pensaba q se podrían hacer, pero me he atascado en una cosa: Como puedo hacer para que una casilla, que tiene un formato de fecha, coja el dato del nombre de su pestaña. Es decir, la hoja se llama 250906, y quiero que en la casilla aparezca 25/09/06. Can I do it????????

Mil gracias.
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

RE:H4 = NOMBRE DE LA HOJA

Publicado por JuanC (792 intervenciones) el 25/09/2006 17:43:00
[H4].NumberFormat = "@"
[H4] = Mid(ActiveSheet.Name, 1, 2) & "/" & Mid(ActiveSheet.Name, 3, 2) & "/" & Mid(ActiveSheet.Name, 5, 2)

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

RE:H4 = NOMBRE DE LA HOJA

Publicado por José Luis (700 intervenciones) el 25/09/2006 18:00:31
Otra forma es definir una función,

Function NombreHoja()
MiHoja = ActiveCell.Worksheet.Name
NombreHoja = Left(MiHoja, 2) & "/" & Mid(MiHoja, 3, 2) & "/" & Right(MiHoja, 2)
End Function

En la celda que quieras escribes = NombreHoja()

Lo que te indica JuanC es para poner como código en una macro, lo que indico yo es una función. El problema de esta Función/fórmula es que si estás en una hoja diferente de donde tienes la función, cuando se ejecute un Calculo cambiará el valor de todas las celdas y en todas las hojas donde esté la Función/Fórmula, por tanto hay que usarla con mucho cuidado.

Me alegro que te vayan saliendo las cosas.
Saludos
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
Imágen de perfil de Josu

RE:H4 = NOMBRE DE LA HOJA

Publicado por Josu (7 intervenciones) el 25/09/2006 18:02:40
Gracias por responder!!!

Pero todavía no se mucho de esto y me da error de sintaxis, que me falta???

Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 21/09/2006 por becario
'

'Activar el libro desde donde ejecutamos la macro
ThisWorkbook.Activate
[H4].NumberFormat = "@"
[H4] = Mid(ActiveSheet.Name, 1, 2) & Mid(ActiveSheet.Name, 3, 2) & "/" Mid(ActiveSheet. Name, 5, 2)
End Sub

Graciaaaaaas
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
Imágen de perfil de Josu

RE:H4 = NOMBRE DE LA HOJA

Publicado por Josu (7 intervenciones) el 25/09/2006 18:14:36
Vale!!

También lo he intentado de la forma de Jose Luis.

Pero escribiendo todo lo que me has puesto, me dice que esperaba End Sub.

Lo del Function me ha descolocado!!! jajaja

merci
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

RE:H4 = NOMBRE DE LA HOJA

Publicado por José Luis (700 intervenciones) el 25/09/2006 20:14:06
Function es una forma de definir una nueva función que puede ser llamada desde la hoja o desde una macro.

Si pones todo el código dentro de una macro no te funcionará (error de sintaxis).

Para llamar a la función desde la macro debes:
- crear la función fuera de la macro Function .... End Function
- escribir la macro y cuando necesites el nombre de la hoja
Nombre = NombreHoja()
- Si en una celda escribes =NombreHoja() te devolverá el Nombre de la Hoja (ojo a las advertencias que te hice en el post anterior).

Saludos
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