Mostrar en una celda el título de la plantilla

Hola, quisiera saber si es posible que el titulo en las propiedades de una plantilla que tengo sea igual a una celda concreta y que si cambio esa celda cambie también el titulo automáticamente. Gracias

2 Respuestas

Respuesta
1
No se que es exactamente que titulo quieres cambiar, pero te voy a poner una macro que sirve para cambiar el nombre de la hoja.
Vete al editor de visual basic (Alt+F11) y haz doble-clic encima de la hoja que quieras, dentro de la ventan "Proyecto"
Ahora, en la parte derecha escribes esta macro:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target.Value = "" Then
ActiveSheet.Name = "<Vacio>"
Else
ActiveSheet.Name = Target.Value
End If
End If
End Sub
Cambia "$A$1" por la celda donde esté el nombre que tiene que coger la hoja.
Exactamente el titulo que quiero cambiar es el que aparece en el menu archivo-propiedades-resumen-(titulo), al igual que me aparecen por defecto el autor y la organización, quiero que el titulo sea el contenido de la una celda de la hoja1.
El ejemplo que me has puesto me puede venir bien, y si ya no es mucho abusar, ¿se puede hacer lo mismo con el nombre principal del archivo?
Gracias y un saludo para ti también
Cambia donde poner ActiveSheet. Name por:
ActiveWorkbook. BuiltinDocumentProperties("Title")
Con esto pones titulo al documento.
Aquí te pongo todas las propiedades, por si te interesa alguna otra:
Title
Subject
Author
Keywords
Comments
Template
Last author
Revisión number
Application name
Last print date
Creation date
Last save time
Total editing time
Number of pages
Number of words
Number of characters
Security
Category
Format
Manager
Company
Number of bytes
Number of lines
Number of paragraphs
Number of slides
Number of notes
Number of hidden Slides
Number of multimedia clips
Hyperlink base
Number of characters (with spaces)
¿Te acuerdas del primer código que te pase?
Pues en la primera lineas donde ponía:
If Target.Address = "$A$1" Then
cambialo por:
If Target.Address = "$A$1" Or Target.Address = "$B$3" Or Target.Address = "$B$8" Then
O sea, que pongas las celdas que quieras para que actualice la propiedad cada vez que haya un cambio en alguna de esas celdas: A1, B3 y B8 en mi ejemplo.
Hola de nuevo, la macro me funciona en una hoja vacía, pero no en la plantilla en la que la quiero usar, el problema creo que puede ser que en la celda donde tiene que coger la referencia en un principio es #N/A y luego cambia a un titulo según meto datos en la plantilla.
Un saludo y gracias.
Hola de nuevo, lo del error en la celda ya lo tengo resulto y me funciona perfectamente, solo me queda un pequeño problema por resolver, una vez que en la celda se me ha puesto un dato, efectivamente en las propiedades me cambia el titulo, pero si me he equivocado o cambio el dato de la celda después, ya no se actualiza el valor del titulo en propiedades.
Ya siento que se vaya alargando el tema, espero que con esto ultimo ya me las apañe.
Gracias, un saludo
Te voy a ayudar para que no te salga el error #N/A.
Supongamos que es la celda A1 y ahí tienes una función tal como esta:
=funcion()
Pues tienes que sustituirlo por esto:
=SI(ESERROR(funcion());"";funcion())
Donde yo pongo función() tendrás que poner la que tenias puesta tu.
Espero que lo entiendas y que sea esto lo que necesitas.
Hasta pronto,
Ramon
Respuesta
1
No conozco una solución rápida. Me parece que con una macro se podría solucionar pero en estos momentos estoy por entregar un proyecto.
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas