Con el método tradicional es muy fácil introducir y modificar comentarios, pero en ciertas situaciones pueden presentarse inconvenientes. Por ejemplo, según las deficiones por defecto, el comentario se hace visible cuando apuntamos a la celda que lo contiene. Esto puede ocultar el contenido de celdas contiguas que pueden ser necesarias para las acciones a tomar por el usuario. Otro inconveniente es que el comentario desaparece al dejar de apuntar a la celda lo cual limita su uso para dar instrucciones al usuario.
Una alternativa es usar cuadros de texto u cualquier otra forma, combinados con un poco de código Vba (macros) para hacerlos aparecer o desaparecer.
Veamos cómo aplicar esta técnica al ejemplo de la imagen más arriba.
Empezamos por agregar un icono que indique la posibilidad de recibir instrucciones usando, por ejemplo, una imagen prediseñada
Luego creamos un cuadro de texto con las instrucciones y activamos el panel de selección
Tal como hicimos con el icono de información, agregamos un icono "x" al cuadro de texto que nos servirá para que el usuario pueda cerrar (volver invisible) el cuadro.
En el panel cambiamos el nombre por defecto de los objetos por algo más explícito; por ejemplo, en lugar de "CuadroTexto 3" hacemos un clic sobre el nombre lo reemplazamos por "ctInstrucciones". Esto nos será útil para simplificar nuestro código
Ahora tenemos que crear el código para volver visible o invisible el cuadro de texto. Activamos la grabadora de macros y ocultamos el cuadro de texto pulsando el "ojo" a la derecha del nombre del objeto en el panel de selección; hacemos lo mismo con la imagen de la "X".
El código resultante es el siguiente:
Sub ocultar_objetos()
'
' ocultar_objetos Macro
'
ActiveSheet.Shapes.Range(Array("ctInstrucciones")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("imCerrar")).Visible = msoFalse
End Sub
Como sucede con todo código creado por la grabadora, podemos simplificarlo a éste:
Sub ocultar_objetos()
'
'
ActiveSheet.Shapes. _
Range(Array("ctInstrucciones", "imCerrar")).Visible = msoFalse
End Sub
Ahora necesitamos un código para mostrar los objetos, para lo cual sencillamente copiamos el código anterior cambiando el valor "msoFalse" a "msoTrue"
Sub mostrar_objetos()
'
'
ActiveSheet.Shapes. _
Range(Array("ctInstrucciones", "imCerrar")).Visible = msoTrue
End Sub
El último paso es ligar la macro para mostrar los objetos al icono "i" yla macro para volverlos invisibles al icono "x"
Este video demuestra el funcionamiento
Me pierdo en la asignación del macro, ¿Lo podrías explicar en vídeo?
ResponderBorrarVeré si encuentro un momento para armar el video. ¿En que parte te perdés?
ResponderBorrarGracias por el post Jorge, me ayudo mucho a presentar un informe con instrucciones, permitiendo que el reporte mantuviera su limpieza y profesionalismo.
ResponderBorrar