viernes, 28 de junio de 2013

Formato condicional con Conjunto de iconos en Excel.

Unos cuantos días atrás, un lector mediante una consulta a través de los comentarios, planteaba una cuestión que me pareció interesante por el uso avanzado de los Formatos condicionales en una hoja de Excel, empleando y configurando las características de uno de los Conjunto de iconos, en este caso de Tres flechas (de color).
En concreto la cuestión planteada era la siguiente:
...He buscado la forma de condicionar las siguientes cantidades
celda > 0%, que me muestre flecha ascendente verde,
celda = 0%, que me muestre flecha horizontal amarilla y
celda < 0%, que mue muestre flecha descendente roja, es decir, condicionar los porcentajes positivos, ceros y negativos con flechas en vez de formato de color. Saludos. ...


Veamos el resultado al que deseamos llegar:

Formato condicional con Conjunto de iconos en Excel.



Para configurar adecuadamente nuestro formato condicional seleccionaremos la celda o celdas a la que queramos añadir este conjunto de iconos, por ejemplo, la celda C2 (o el rango A1:A11), y accederemos a la ficha Inicio > grupo Estilos > botón Formato condicional > opción Conjunto de iconos > Tres flechas(de color):

Formato condicional con Conjunto de iconos en Excel.



Ahora accederemos al Administrador de reglas y buscaremos nuestra recién creada Regla 3 flechas(de color):

lunes, 24 de junio de 2013

Cursos Excel y Programación Macros online con tutor personal. Edición Julio 2013.

Presento la edición de Cursos de Excel y Macros online con tutor personal de Julio 2013.
Aprovecha el verano y fórmate!!!


Los cursos de Excel abiertos para el proximo Julio a precios imbatibles son:

Curso Excel Avanzado para versiones 2007/2010

(ver más)

Curso Excel Nivel Medio

(ver más)

Curso Excel Financiero

(ver más)

Curso Tablas dinámicas en Excel

(ver más)

Curso Macros Iniciación

(ver más)

Curso Macros Medio

(ver más)

Curso preparación MOS Excel 2010 (Examen 77-882)

(ver más)


Esta nueva edición de Cursos de Excel y macros en modalidad elearning (online) dará comienzo el próximo día 1 de Julio de 2013.
Con la confianza de siempre....Anímate!!

También formación Excel a empresas. Explota los recursos a tu alcance (ver más).


Informarte sin compromiso en cursos@excelforo.com o directamente en www.excelforo.com.

Recuerda que también imparto clases particulares de Excel en Madrid te interesa?

jueves, 20 de junio de 2013

Las perpendiculares en un gráfico de Excel.

Recientemente un alumno de mis cursos online me preguntaba sobre la forma de construir unas perpendiculares en un gráfico de Excel, pero que además de serlo lo pareciera... como la mujer del Cesar, vamos ;-).
El objetivo obtener un gráfico como el de la imagen:

Las perpendiculares en un gráfico de Excel.


Lo primero que debemos tener claro, y recordar, es cómo se construyen dos rectas perpendiculares empleando dos ecuaciones del tipo:
y= m1x + b
y= m2x + c

sabiendo que si m1 la definimos como un cociente: n/d, y que corresponde a la pendiente de nuestra recta, su perpendicular m2 vendrá definida por el cociente inverso con signo contrario: -d/n. Por tanto, nuestras rectas perpendiculares tendrán esta forma:
y= n/d x + b
y= -d/n x + c

Además de matemáticamente, también es comprobable gráficamente que son perpendiculares, ya que si nos fijamos en los cuadros que recorren horizontal y verticalmente cada recta, verificamos que una de ellas por cada dos cuadros en horizontal sube tres en vertical, al contrario que su perpendicular, que recorre tres en horizontal por cada dos en vertical.
Conceptos geométricos a parte, nos centraremos ahora en la parte gráfica de Excel.

En primer lugar plasmaremos los pares de los puntos que representarán nuestras rectas, es suficiente dos puntos por recta (al fin y al cabo eso es lo que define una recta, no?):

Las perpendiculares en un gráfico de Excel.


En el ejemplo he decidido formularlo, aunque como se puede ver es fácil hacerlo de manera manual invirtiendo los pares de puntos.

El siguiente paso es generar un gráfico tipo dispersión con líneas rectas y marcadores (desde luego debe ser tipo dispersión!!!), seleccionando el rango A4:A5 y B4:B5. Conseguiremos el siguiente gráfico con una sóla serie (de momento):

lunes, 17 de junio de 2013

Variar colores entre puntos de una serie de un gráfico de Excel.

En el día de hoy, como penitencia por un olvido, explicaré una opción de los gráficos algo olvidada... al menos para mi, de ahí mi 'castigo'.
Recientemente me plantearon la forma de conseguir un gráfico en principio (y al final lo era) muy sencillo. Sobre una única serie de datos, mostrar los diferentes elementos en un gráfico de columnas, siendo cada columna de un color diferente a los demás... apareciendo cada valor como componente de la Leyenda. Muestro en la imagen qué se pedía:

Variar colores entre puntos de una serie de un gráfico de Excel.



En mi olvido, al ver cada columna de un color diferente, pensé que lo óptimo sería Cambiar entre filas y columnas... pero topaba con un inconveniente, y es que la Etiquetas del eje horizontal(Categoría) aparecía (lógicamente) mostrando el Nombre de la serie!!!:

Variar colores entre puntos de una serie de un gráfico de Excel.



Tras mil y un intentos, una gran ayuda me recordó de la opción mágica: Variar colores entre puntos. Fácil, rápido y dolorosamente obvio.
Partiremos del gráfico inicial, con el mismo color para todas las columnas. Seleccionaremos la Serie de datos y aplicaremos Formato de serie de datos, y en esta venta diálogo buscaremos el menú Relleno, y entre las opciones (en la parte de abajo) aparecerá la opción Variar colores entre puntos:

Variar colores entre puntos de una serie de un gráfico de Excel.
haz clic en la imagen



Listo, tras seleccionar nuestra opoción el gráfico aparecerá con diferentes colores por cada punto de la misma serie, per además en la leyenda y en las etiquetas del eje horizontal, dispondremos de los elementos... tal cual veíamos en la primera imagen del post de hoy.

jueves, 13 de junio de 2013

Los Estilos de celda y la herramienta Subtotales en Excel.

Aunque sin duda la herramienta Subtotal no es mi favorita, hoy explicaré cómo asociar a las filas donde se encuentren los Subtotales en el esquema generado un formato o estilo de celda definido.
En definitiva se trata de formatear los diferentes niveles de Subtotales añadidos. Podemos ver en la imagen el resultado final:

Los Estilos de celda y la herramienta Subtotales en Excel.


Lo interesante de esta acción que aprenderemos hoy, es que la herramienta Subtotal asigna una categorización (de diferentes niveles) a los sucesivos subtotales añadidos.. aunque con una pequeña desventaja, y es que se lo asigna a toda la fila donde exista dicho subtotal!!!.

Veamos los pasos. Lo primero será acceder a la venta diálogo Configuración de Esquema, para ello navegamos por la Ficha Datos > grupo Esquema > flecha inferior derecha (abre/muestra cuadro diálogo):

Los Estilos de celda y la herramienta Subtotales en Excel.


En la ventana de Configuración marcaremos la opción Estilos automáticos:

Los Estilos de celda y la herramienta Subtotales en Excel.



Tras Aceptar o Aplicar estilos, ya podemos agregar dos subtotales a nuestra base de datos, uno para cada cambio en el campo 'Código' y otro más para cada cambio en el campo 'Comercial', y en este orden comentado.
El primer Subtotal tendría esta configuración:

lunes, 10 de junio de 2013

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.

En una entrada del blog anterior (ver) vimos cómo podíamos configurar o programar una macro para que se ejecutara en un momento determinado, pero con la condición que el Libro de trabajo que la contenía estuviera abierto.
En la entrada de hoy veremos cómo empleando una herramienta de Windows (el Programador de tareas), tendremos la posibilidad de programar la apertura de nuestro Libro de trabajo automáticamente, y por tanto, permitir la ejecución de una macro de Excel cuando así lo necesitemos. En definitiva salvaremos así el escollo o limitación que suponía deber tener un Libro abierto para forzar una macro.


Por otra parte, igualmente importante, está el asunto de la Seguridad de las macros y la habilitación automática de macros o contenidos, lo que quedó explicado en la entrada:


Se trata, por tanto, de trabajar en diferentes frentes:
1. Programador de tareas de Windows, y
2. Definir las Ubicaciones de confianza (que permita saltar el mensaje de seguridad de macros)


Nos centramos en los pasos a seguir para configurar el programador de tareas de Windows.
Lo primero desde el botón de Inicio de Windows buscaremos el Equipo sobre el que haremos clic derecho y Administrar:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen


En la ventana que se abrirá de Administración de equipos buscaremos en los menús de la izquierda la opción de Herramientas del sistema > Programador de tareas:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



Como la tarea a programar es bastante sencilla (abrir un Libro de Excel), nos fijaremos en las Acciones que encontramos a la derecha, y presionaremos Crear tarea básica que abre la siguiente ventana del Asistente para crear tareas básicas, completaremos el Nombre de la tarea (y la descripción si queremos):

jueves, 6 de junio de 2013

VBA: Ejecutar una macro de Excel a una hora determinada.

Hoy aprenderemos qué método debemos emplear para ejecutar una macro en un momento del tiempo (hora, minuto y segundo del día) concreto. Se trata de dejar programada la ejecución de un procedimiento a una hora determinada.
Si bien habrá que tener presente que para que este método surta su efecto el Libro debe estar abierto!!!.

El método Application.OnTime programa, entonces, la ejecución de un procedimiento a una hora especificada o después del transcurso de un período de tiempo específico.

Veamos un ejemplo, para lo que construiremos un evento Open para activar el método .OnTime e indicar a qué hora queremos ejecutar nuestra macro llamada 'MacroPrincipal'.
Por tanto accederemos al Editor de VBA (alt+F11) e insertaremos en ThisWorkbook el siguiente código:

Private Sub Workbook_Open()
Application.OnTime TimeValue("17:30:00"), "MacroPrincipal"
End Sub



Adicionalmente en un módulo del Editor de VBA añadiremos las líneas de nuestra macro:

Sub MacroPrincipal()
MsgBox "Hola, son las 17:30 y se ha ejecutado la MacroPrincipal"
End Sub



Ya sólo nos queda esperar a que la hora de nuestro sistema (de nuestro equipo) llegue a las 17:30:00, en ese instante se ejecutará el procedimiento indicado, en el ejemplo la macro 'MacroPrincipal'... apareciendo el mensaje (MsgBox):

VBA: Ejecutar una macro de Excel a una hora determinada.



Si en lugar de programar a una hora concreta queremos ejecutar una macro 10 segundos después de la apertura de nuestro Libro, en el editor de VBA en ThisWorkbook incluiríamos las siguientes líneas en un evento Open, y en un Módulo aparte la MacroPrincipal:

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:10"), "MacroPrincipal"
End Sub



Como comentaba al principio, el único inconveniente de este método es que,lógicamente, requiere tener abierto el Libro de trabajo.

lunes, 3 de junio de 2013

VBA: Habilitar macros de Excel automáticamente.

Hace bastante tiempo comenté en una entrada las diferentes opciones que nos ofrece Excel para controlar la Seguridad de nuestras macros (ver).
En la entrada de hoy veremos un par de maneras en las que podemos controlar la apertura de libros de Excel sin perder la Seguridad y sin que aparezca el molesto mensaje de Habilitar contenido:

VBA: Habilitar macros de Excel automáticamente.


Para comprobar el funcionamiento crearemos un Libro con una macro sencilla con el evento Open, que muestre un simple mensaje al abrir nuestro Libro de trabajo.
Por tanto accederemos al Editor de VBA (alt+F11) e insertaremos el siguiente código dentro de ThisWorkBook (serviría cualquier tipo de procedimiento):

Private Sub Workbook_Open()
MsgBox "... prueba de apertura..."
'resto de instrucciones...
End Sub


Normalmente al abrir el libro aparecería el mensaje de la imagen anterior: Advertencia de Seguridad; lo que vamos a explicar es cómo conseguir evitar dicho mensaje para que nuestra macro, de la que tenemos total seguridad y control, y por la que no corremos ningún riesgo, se ejecute o habilite directamente.

Una primera forma es generar una Ubicación de confianza, es decir, una carpeta de nuestro equipo, tal que cualquier libro Excel que abramos dentro de dicha carpeta habilitará las macros automáticamente, sin mensaje de seguiridad.
Para ello accederemos a la configuración de las Ubicaciones de confianza; es posible hacerlo desde varios lugares:
1. Ficha Programador > grupo Códigos > botón Seguridad de macros y en la ventana diálogo de Centro de confianza buscaremos en el menú de la izquierda el item Ubicaciones de confianza y dentro de él, el botón Agregar nueva ubicación:

VBA: Habilitar macros de Excel automáticamente.


2. Desde el menú archivo(o botón Office en Excel 2007) > botón 'Opciones de Excel' > Opción Centro de Confianza (menú a la izquierda) > botón 'Configuración del centro de confianza' > opción 'Ubicaciones de confianza' (menú a la izquierda) > botón 'Agregar nueva ubicación'
En ambos casos se abrirá la misma ventana desde donde podremos indicar la situación de nuestra carpeta. También podremos decidir si queremos que las subcarpetas contenidas formen parte de esa ubicación de confianza:

VBA: Habilitar macros de Excel automáticamente.


Tras Aceptar es fácil comprobar que al abrir nuestro Libro ya no realiza la pregunta de confirmación para habilitar las macros.
Remarcar nuevamente la importancia y la seguridad de saber que los ficheros contenidos en esas carpetas son seguras y fiables...


Un procedimiento diferente para habilitar nuestras macros de manera automática sería a través de los certificados digitales de Microsoft. Para este proceso presionaremos el botón de Inicio de Windows > Todos los programas > Microsoft Office > Herramientas de Micorsoft Office 2010 > Certificado digital para proyectos de VBA: