miércoles, octubre 01, 2008

Encabezamiento y pie de página en Excel.

Excel, tal como Word, permite incluir encabezamientos y pies de páginas que aparecen al imprimir las hojas. De esta manera podemos incluir información sobre las hojas o el cuaderno que estamos imprimiendo.
El proceso de agregar estos encabezamientos y pies de páginas en Excel es sencillo. Abrimos el diálogo de configuración de página con el menú Archivo- Configurar página



o pulsando el icono de vista preliminar



Si usamos este segundo método, pulsamos el botón Configurar para abrir el diálogo.



Tanto en el encabezamiento como para el pie de página existen tres secciones: derecha, izquierda y central. Para definir el contenido apretamos el botón de la zona deseada, nos ubicamos en la sección correspondiente y usamos el o los botones correspondientes.

Las posibilidades son (en Excel 2003):

&[Página]
&[Páginas]
&[Fecha]
&[Hora]
&[Ruta de acceso]&[Archivo]
&[Archivo]
&[Etiqueta]

Para incluir texto personalizado sencillamente lo escribimos en la sección deseada. Para cambiarle el formato a la fuente usamos el botón de formato (A).
También podemos incluir una imagen. Una vez incluida podemos usar el botón de configuración de imagen para cambiarle el tamaño.

Podemos combinar las distintas posibilidades, por ejemplo si la impresión incluye muchas hojas podemos definir un pie de página como este



con este resultado



También podemos ordenar la información en varias líneas usando Enter para crea una nueva.
Hasta aquí hemos resumido información básica que seguramente la mayoría de mis lectores conoce.

Ahora pasemos a algunas cuestiones más avanzadas.

A veces queremos agregar dinámicamente el nombre del usuario, tal como aparece en el sistema. Esto nos permite identificar quien guardó la página. Para esta tarea tenemos que usar una macro como ésta, donde usamos la función Environ de Vba para obtener el nombre del usuario

Sub Footer_user()
    Dim PS As PageSetup, WS As Worksheet
    
    Set PS = ActiveSheet.PageSetup
    
    PS.CenterFooter = Environ("username")
    
    
End Sub



Los encabezamientos y pies de página se definen a nivel de hoja. Para definirlos simultáneamente para más de una hoja tenemos que seleccionarlas previamente, abrir el menú Archivo-Configurar Página y apretar el botón Aceptar.
Para seleccionar varias hojas hacemos un clic a la etiqueta de cada una de las hojas a seleccionar mientras mantenemos apretado la tecla Ctrl. También podemos usar la tecla Mayúsculas para seleccionar un rango de hojas marcando la primer y la última hoja en el rango.
Para seleccionar todas las hojas del cuaderno usamos el menú contextual que se abre apuntado a la etiqueta de la hoja y apretando al botón derecho del mouse.



Para copiar la configuración de página de un cuaderno a otro tenemos dos posibilidades:

1 - Manualmente, movemos una hoja del cuaderno de origen al cuaderno al cual queremos copiar la configuración (asegurándonos que marcamos la opción "crear una copia"). Luego procedemos como señalamos más arriba.

2 - Usando una macro como ésta

Sub CopyHeaderFooter()
   Dim PS As PageSetup, WB As Workbook, WS As Worksheet
   Set PS = ActiveSheet.PageSetup
   For Each WB In Workbooks
     For Each WS In WB.Worksheets
       With WS.PageSetup
         .LeftHeader = PS.LeftHeader
         .CenterHeader = PS.CenterHeader
         .RightHeader = PS.RightHeader
         .LeftFooter = PS.LeftFooter
         .CenterFooter = PS.CenterFooter
         .RightFooter = PS.RightFooter
       End With
     Next
   Next
End Sub


Esta macro (tomada del sitio VitalNews) copia la configuración de página de la hoja activa a todas las hojas de todos los cuadernos abiertos al momento de correrla.



Technorati Tags:

viernes, septiembre 26, 2008

Autocompletar en Validación de Datos

Toda persona que haya usado Excel por algún tiempo conoce la funcionalidad Validación de Datos. Una de las características más "sexy" de esta funcionalidad es la posibilidad de crear listas desplegables con facilidad.

En notas anteriores ya hemos mostrado como podemos mejorar aún más esta función creando listas desplegables ordenadas o listas desplegables dependientes.

Pero lo que falta en validación de datos es la funcionalidad autocompletar. Esto es importante cuando tenemos listas con varias decenas o centenas de miembros.

Supongamos que creamos una lista desplegable con todos los países del mundo (o casi todos, según Wikipedia) . Esta lista tendrá 247 miembros. Para facilitar la búsqueda de un país determinado podemos ordenar la lista alfabéticamente, pero de todas maneras si buscamos Zimbabue o Yemen tendremos que pulsar el ratón o el teclado decenas de veces.
La solución es imitar en la lista de validación de datos el comportamiento Autocompletar como existe las celdas de una hoja. La idea es que si pulsamos B aparezca Bahamas, si pulsamos Br aparezca Brasil, etc.

Para lograr esto podemos incorporar a la hoja de Excel un control ActiveX. En este caso usaremos un cuadro combinado (ComboBox).



En nuestro modelo hemos puesto el cuadro combinado sobre la celda B1 y enseguida mostraremos como dirigimos la elección de la lista a la celda B3



Para poder seleccionar el objeto activamos primero el modo de diseño



Luego seleccionamos el cuadro combinado con un clic y abrimos el menú de las propiedades del objeto



En LinkedCell ponemos B3, el ListFillRange ponemos Hoja2!A1:A247 (que es donde tenemos la lista de países) y en MatchEntry ponemos 1-fmMatchEntryComplete



También podemos cambiar otras propiedades como la fuente y el aspecto del objeto.

Cerramos el cuadro de propiedades y cancelamos el modo de diseño haciendo clic sobre el icono.

Ahora al abrir la ventanilla del cuadro combinado vemos los primeros 8 miembros de la lista (también esta propiedad puede ser cambiada en el cuadro de propiedades del objeto). Los miembros aparecen en el orden en que se encuentran en el rango de origen.



Pero lo más interesante es que podemos escribir directamente en la ventanilla y los países aparecerán de acuerdo a las letras que hayamos escrito

Al poner B aparece automáticamente Bahamas



Si agregamos ahora "r", el valor se convierte en Brasil. Nótese que el valor en la celda ligada, B3, se actualiza instantáneamente



Todo sobre listas desplegables en Excel, técnicas avanzadas y descarga gratuita de ejemplos  en la Caja de Herramientas Excel - Listas Desplegables de JLD. Ver la nota o ir a la página de descarga de la guía.


Technorati Tags:

lunes, septiembre 22, 2008

Cálculo manual y automático en Excel.

Hoy un compañero de trabajo vino a verme totalmente alarmado. Después de recuperar el aliento me cuenta que en "su Excel" es decir, la hoja en la llevaba trabajando varias horas, los resultados no cambiaban a pesar de que había cambiado los datos.
Para ponerlo con un ejemplo supongamos esta hoja donde en la celda C2 tenemos la fórmula A2*B2



Cambiamos la cantidad en la celda A2 a 100. El resultado en la celda C2 debería cambiar a 25000, pero



Sin embargo sí hay un cambio. En la parte inferior izquierda de la hoja aparece "Calcular". Este mensaje significa que Excel se encuentra en situación de cálculo manual y para recalcular las fórmulas de la hoja debemos apretar F9.

Para saber cuál es el método de cálculo del cuaderno con el que estamos trabajando podemos fijarnos en Herramientas-Opciones



Todo esto es seguramente "noticias de ayer" para la mayoría de mis lectores. Pero existen no pocos aspectos menos conocidos del método de cálculo de Excel que en ciertas circunstancias pueden ocasionar problemas, también a usuarios experimentados.

Excel tiene un mecanismo de cálculo muy sofisticado. Este mecanismo minimiza el tiempo de recálculo recalculando sólo las celdas que necesitan ser recalculadas. Sin extendernos en detalles técnicos podemos decir que hay algunas excepciones a esta regla. Por ejemplo, las funciones volátiles son calculadas con cada cambio en la hoja, también si este cambio no afecta a la fórmula en cuestión.
Cuando Excel está en modo de cálculo manual, ninguna celda es recalculada, tampoco aquellas que contienen fórmulas con funciones volátiles.

El método de cálculo es determinado por el método del primer cuaderno que abrimos al iniciar una sesión de Excel. Este es un detalle crítico: todo cuaderno que abramos después, no importa cuál sea el método de cálculo con que fue guardado, funcionará con el método de cálculo del cuaderno que inicio la sesión corriente de Excel.

Al cambiar el método de cálculo de un cuaderno, con el menú Herramientas-Opciones, se cambia el método de todos los cuadernos abiertos en esa sesión de Excel.

También después de cerrar todos los cuadernos de una sesión, al abrir un nuevo cuaderno el método de cálculo será el de último cuaderno que hayamos guardado. La excepción a esta regla es si creamos un cuaderno a partir de una plantilla.

Cuando trabajamos en situación de cálculo manual podemos pulsar la tecla F9 para recalcular todos los cuadernos abiertos en la sesión o Mayúsculas+F9 para recalcular sólo la hoja activa.
Otra combinación posible es Ctrl+Alt+F9 que realiza un recálculo completo (full calculation), es decir, de todas las fórmulas aún de aquellas cuyas variables no han cambiado.

También podemos usar F9 para momentáneamente el resultado de una fórmula o parte de ella, en la barra de fórmulas. Por ejemplo, activamos la celda C2 en nuestro ejemplo y seleccionamos la operación



Al apretar F9 vemos el resultado en la barra de fórmulas




Technorati Tags: