¿Cómo creo una plantilla en Microsoft Excel para que al ser cumplimentada se restaure por completo?
Hola, mi nombre es Esteban y quiero hacer una plantilla (que tiene varias hoas, esto no se si importa o no) en la cual al abrirse una planilla nueva a partir de la plantilla desaparezcan todas las barras, incluso las personalizadas, y que la barra que tiene todos los nombres (Archivo, Ver, Formato, Herramientas, Datos, Ayuda) desaparezca y que en su lugar solo queden los iconos de Nuevo, Abrir, Cerrar, Guardar, Imprimir), y luego al cerrarla, se restaure todo como estaba antes. Pero la cosa no termina allí, ya que en la plantilla hay en una celda uso Lista (esa que se hace desde datos, validación) y quiero que la planilla al momento de cerrarla, agregue el nombre de una celda a la columna de donde están los nombres en la plantilla. Espero que se pueda hacer, desde ya muchísimas gracias.
1 respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Vuelto de las fiestas, acabo de ver tu pregunta. Si la entendí correctamente, debes hacer lo siguiente: Deberías tener creada, primero, una barra de herramientas con los íconos a mostrar. (A modo de ejemplo la llamaré "TUMENU") Esta barra de herramientas puede estar "flotando en la hoja" o agregadas en la parte superior, adjunta a las barras standard de MS Excel. Luego, introduce estos códigos en el archivo que tiene que mostrar el menú especial. Para ello abre el Editor de Visual BAsic (Alt+F11), busca la carpeta "ThisWorkbook" ( o "Estelibro"), y pega -en el panel de la derecha- estas macros: Estos códigos contienen las funciones para ocultar las barras standard. De todos modos, un truco simple para averiguar estos nombres es usar la "grabadora de macros", efectuar el procedimiento de ocultar manualmente y luego ver cómo lo escribió en el Editor. Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window) Application.ScreenUpdating = False Application.CommandBars("Standard").Visible = False Application.CommandBars("Formatting").Visible = False Application.CommandBars("Worksheet Menu Bar").Visible = False Application.CommandBars("TUMENU").Visible = True Application.ScreenUpdating = True End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window) Application.ScreenUpdating = False Application.CommandBars("Standard").Visible = True Application.CommandBars("Formatting").Visible = True Application.CommandBars("Worksheet Menu Bar").Visible = True Application.CommandBars("TUMENU").Visible = False Application.ScreenUpdating = True End Sub Cierra el editor, graba el archivo, cierrallo y vuelve a abrirlo. Así tendrás ese menú disponible. Estas son dos macros basadas en eventos que mostrarán u ocultarán el menú TUMENU según se active o desactive la ventana de este archivo. Esto es más amplio que el evento de apertura de archivo, ya que te permite tener otro archivo abierto y ocultar el menú si cambias de ventana. Para la segunda parte de tu pregunta agrega a continuación de las macros anteriores, la siguiente: Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("Hoja1").Select Range("C4").Select Selection.End(xlDown).Select Activecell.offset(1,0).Select ActiveCell.FormulaR1C1 = Range("M2").Address End Sub Debido a que no tengo muchos más datos asumí que tu lista a agregar está en la Hoja1, empezando en la celda C4 y agregará el "nombre de una celda" al final de la lista considerando la celda M2 (aunque no entendí muy bien el sentido de esto). Espero haberte ayudado Un abrazo! Fernando