domingo, 5 de abril de 2015

Un video vale mas que mil imagenes

!!! Hola !!!


Hoy vamos a incrustar un video de youtube dentro de una hoja de Excel.



















Lograr esto no es complicado. Puedes conseguir resultados profesionales si  le agregas informacion complementaria concerniente al video y un poco de tu buen gusto al diseño.


Requisitos
Solo el link del video de youtube y por supuesto, una conexion a internet.


Paso No 1.
Insertar el  control ActiveX llamado "Shockware Flash Object" en una de las hojas del libro de trabajo en cuestion.
















No te preocupes si en vez de la ficha "Programador" tu pantalla muestra "Desarrollador" son nombres diferentes para la misma ficha en diferentes versiones de Excel.
Como? no aparece la ficha programador en tu cinta de opciones? En este caso deberas agregarla. Puedes esperar unos dias a que haga una entrada en el blog explicando como se hace esto o simplemente googlea "Mostrar la ficha programador en Excel", es un procedimiento muy sencillo.

Como se observa en la imagen, no aparece el control ActiveX llamado "Shockware Flash Object", seguramente tambien te pasa lo mismo (lo que sucede es que es un control que no se usa mucho, por eso no esta en la lista. Debes hacer click en la ultima opcion "Mas controles".
Busca en la lista el control "Shockware Flash Object" - se muestran en orden alfabetico. Boton aceptar y listo.

No es que el control vaya a aparecer en el listado de controles. El puntero del mouse mostrara una pequeña cruz que te permitira hacer la insercion del control con un simple click en la hoja de trabajo:























Paso No 2.
Invocar la ventana de propiedades del control

.















Ubica la propiedad Movie dentro de la ventana de propiedades, para lograr esto, debes:
2.a Antes de seleccionar el control asegurate que se encuentre en modo diseño (ver imagen del control modo diseño")
2.b Selecciona el control con el boton derecho del mouse. Debe aparecer el menu contextual. Selecciona la opcion Propiedades.
Listo, ya tienes la ventana de propiedades en la pantalla.

Nota. Un simple F4 despues de seleccionar el control con el boton izquierdo del mouse es una forma mas simple de cargar esta ventana.


Paso No 3.
Asignar el link a la propiedad Movie
Escribe el link de youtube en el campo Movie, pero antes deberas modificarlo un poco:
Los link de youtube incluyen siempre el texto watch? deberas eliminarlo y ademas cambiar el caracter = que se encuentra mas adelante por el caracter /
Para que se entienda mejor. Tengo este link de youtube:
https://www.youtube.com/watch?v=OUeR6-RTrYA
Corresponde a una pareja de jovenes ecuatorianos llamados The Covers, son realmente buenos. Creo que lo que les falta es publicidad - aca les ayude un poquito :)

El punto es que el link que debes asignar a la propiedad Movie es
https://www.youtube.com/v/OUeR6-RTrYA

Pueden incluirse varios videos dentro de una misma pagina, sigue las mismas indicaciones para cada uno de ellos.

Eso es todo amigos





viernes, 27 de marzo de 2015

Digan Whiskey

!!! Hola !!!


Hoy les voy a enseñar como tomar fotos desde Excel.

No se preocupen si no son muy fotogenicos, el lente de la camara no apunta hacia ustedes.

Se trata de tomar una instantanea de un sector de la hoja de trabajo,


El comando camara no se encuentra disponible en la cinta de opciones, pero podemos implementarlo a la interfaz del programa para tenerlo siempre a la mano:

Paso No 1 - Agregar el comando Camara a la barra de acceso rapido de Excel





















No sabes agregar un control a la barra de acceso rapido?
Simple, Usa el boton derecho del mouse sobre la barra de acceso rapido y selecciona la opcion "Personalizar la barra de acceso rapido"
Debes agregar el comando, desde el cuadro de dialogo de personalizacion de esta barra de herramientas (buscalo en la categoria comandos que no estan en la cinta de opciones).

Es importante aclarar que este paso se hace solo la primera vez - una vez que tengas el comando instalado en la barra de herramientas, solo dedicate a usarlo.

Paso No 2 - Tomar la foto
Selecciona el rango al cual piensas tomarle la foto, haz click en el boton Camara y por ultimo en el sector de la hoja de trabajo donde quieras vincular la foto.


















En la imagen se observa una foto (la cual es en realidad un objeto Shape - Forma creada con el comando Camara)
Si la cantidad de articulos de la factura de la imagen fuera lo suficientemente larga, es posible que no podamos ver simultaneamente el inicio y el final de la factura. Pero la foto nos mostrara continuamente el resultado final.

Antes de terminar, un par de comentarios:
La "foto" es un elemento shape (forma) vinculado a la hoja en forma dinamica, por lo que cualquier modificacion hecha en el resultado de la factura, despues de tomada la foto, se reflejara en la forma.

Antes de que alguien me envie un mensaje diciendo que es posible observar el inicio y el final de la factura al mismo tiempo, aun cuando esta sea muy larga, simplemente inmovilizando paneles, le dire que tiene toda la razon, Imaginemos entonces que la foto almacena el resumen de varias facturas que se encuentra en otra hoja de trabajo.

Eso es todo amigos

martes, 24 de marzo de 2015

Tatsuo Horiuchi

!!! Hola !!!

Las formas (shapes) es el tema de hoy.

Las formas son esos objetos graficos prediseñados que se insertan en una hoja de trabajo usando el control "formas" de la ficha insertar:



























Se pueden insertar una gran cantidad de formas dentro de una hoja de trabajo.

Editar las formas.

Cuando seleccionas una forma, la cinta de opciones de Excel muestra la ficha Formato:







Como puedes observar es posible modificar el tamaño, el color, agregarle texto si se quiere, hacerla girar, etc. Esto permite al usuario adaptar una forma a sus necesidades.

Y para que sirven las formas?
Algunas personas las usan para resaltar el contenido de la informacion que quieren mostrar, alguna vez vi una macro que mostraba la hora dentro de una de estas formas, en fin, las formas sirven para lo que se te ocurra, incluso para crear obras de arte. Eso si tienes la paciencia y habilidad del señor Tatsuo Horiuchi de 73 años, oriundo del Japon.

Tatsuo Horiuchi es el creador de estas imagenes (usando solamente Formas de Excel) - 14. 659 formas entrelazadas dentro de una hoja de calculo:




Mas obras del mismo autor:


El Sr. Horiuchi posando con sus obras:




Puedes descargar dos de sus obras,


https://drive.google.com/file/d/0B8SVML6_4SPHd0dubjZKcXJaam8/view?usp=sharing

https://drive.google.com/file/d/0B8SVML6_4SPHa2JKQkd6OWtRX2c/view?usp=sharing

Eso es todo amigos


viernes, 20 de marzo de 2015

La importancia de tener un nombre

!!! Hola !!!

El dia de hoy hablaremos sobre como asignarle un nombre a una celda o en general a un rango.

De hecho todas las celdas tienen ya un nombre:
La celda ubicada en la columna G y la fila 8, se llama "G8", el rango de celdas cuyos vertices son A1 y B5, se llama "A1:B5", sin embargo, estos nombres proporcionados por excel, aunque permiten ubicar facilmente el rango dentro de la hoja de trabajo, no son descriptivos respecto a su contenido.

Me explico mejor con la siguiente imagen donde he estractado y simplificado el resumen de un presupuesto:
























En un ejemplo tan basico como este, es claro que para calcular el valor total del presupuesto (en la celda F18), debe escribir la formula: =F6+F11-F16.
Si las celdas F6, F11 y F16 se llamasen respectivamente "directos", "otros" y "descuentos", la formula anterior podria escribirse: = directos + otros - descuentos

Esto proporciona una nueva perspectiva al manejo de formulas, una cuya utilidad no se alcanza a apreciar en este ejemplo, por lo simple del mismo. Imagina una formula mucho mas compleja, donde intervienen muchas otras variables y muchos otros operadores matematicos.


Y como se le puede asignar un nombre a una celda (o a un rango de celdas)?
Facil, solo tienes que usar el control de nombres, el control que se señala en la siguiente imagen.
Simplemente selecciona la celda (o rango de celdas) a renombrar y utiliza el control para asignar un nuevo nombre.
























La interfaz de Excel incluye tambien un cuadro de dialogo que permite gestionar (editar, crear, eliminar) los nombres de un rango, el "Administrador de nombres" - buscalo en la ficha "Formulas" de la cinta de opciones:



























Se muestra a continuacion el calculo del total del presupuesto, luego de haber creado los nombres de las celdas. Se aprecia en la barra de formulas la implementacion de lo explicado en este articulo
























Y como se manipulan los nombres de los rangos usando VBA?

El cuadro de dialogo "nombres de rango" y el "control de nombres" que acabo de mostrar, tienen su representacion en la coleccion Names del modelo de objetos de Excel:

Agregar un nuevo nombre de rango al libro de trabajo activo:
ActiveWorkbook.Names.Add nombre, rango
Ejemplo: ActiveWorkbook.Names.Add "directos", Range("F6")

Eliminar un nombre de un rango del libro activo:
ActiveWorkbook.Names(nombre).Delete
Ejemplo: ActiveWorkbook.Names("directos").Delete

Existen muchos otros metodos y propidades de la coleccion Names, pero estos dos son los de mayor uso.


Glosario

Este articulo ha servido como ejemplo para:
1. Mostrar la utilidad de crear nombres descriptivos a los rangos.

2. Aprender a crear y manipular nombres de rangos desde la interfaz de Excel mediante el control "nombres" y el cuadro de dialogo "nombres de rango"

3. Conocer y manipular otro de los objetos del modelo de objetos de Excel: La coleccion Names - que almacena y permite gestionar los nombres de rangos creados por el usuario, ya sea desde la interfaz del programa o mediante el uso de codigo VBA.


Eso es todo amigos.





jueves, 19 de marzo de 2015

He invertido mucho tiempo en esto

!!!! Hola !!!

Hoy queria enseñar como mostrar un reloj en la barra de estado de Excel.

Dije, queria, pero decidi no hacerlo, pues que diferencia habria entre mirar la hora del dia en la barra de estado de Excel o verla en la barra de tareas de Windows?

No tiene mucho sentido, sin embargo, no deseche la idea por completo:

Tal vez queramos saber el tiempo que llevamos trabajando en Excel con un archivo:

























Ese es el tema de hoy:
Colocar un pequeño cronometro en la barra de estado que se active al momento de abrir el archivo. Esto nos informara el tiempo que llevamos trabajando en el (claro, si no te has dedicado a otras cosas despues de abrirlo).

Manos a la obra.

Paso No 1. - Codigo a escribir en el modulo de clase ThisWorkbook
Option Explicit
Public inicio As Date

Private Sub Workbook_Open()
  inicio = Now()
  cronometro
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.OnTime EarliestTime:=Now() + TimeValue("00:01:00"), procedure:="cronometro", Schedule:=False
Application.StatusBar=False

End Sub
Esto hara que al momento de abrir el libro de trabajo, se cree la variable inicio con la hora actual en invocara al cronometro.
Al final, al momento de cerrar el archivo eliminara el cronometro de la barra de estado

Paso No. 2 - Crear el procedimiento Cronometro dentro de un modulo del proyecto
Public Sub cronometro()
  Dim tiempo As Date
  Dim strTiempo As String
  
  tiempo = Now() - ThisWorkbook.inicio
  
  strTiempo = Format(tiempo, "hh:mm")
  Application.StatusBar = strTiempo
  Application.OnTime Earliesttime:=Now() + TimeValue("00:01:00"), procedure:="cronometro"
End Sub
Esto calculara cada minuto la diferencia entre el inicio y la hora actual y mostrara esta diferencia en la barra de estado.

Notas
1. Seria interesante si pudieramos detener el cronometro cuando abrimos otro archivo y reiniciarlo cuando volvemos a el (No es complicado, es cuestion de programar los eventos Activate y deactivate del libro de trabajo).
2. Seria todavia mas interesante si el cronometro pudiera acumular el tiempo de uso del archivo en todas las sesiones (un estimado del tiempo total invertido en el archivo) - Tampoco es complicado, solo basta almacenar el tiempo acumulado al cerrar el archivo y al momento de abrirlo nuevamente iniciar el cronometro con ese valor.
3. Si noto interes en este tema, podria ampliar el codigo con los 2 puntos indicados.


Glosario
Esta entrada ha servido como ejemplo para:
1. Conocer otro de los objetos de Excel: la barra de estado (StatusBar).

2. Conocer dos procedimientos de evento de Excel: Open y BeforeClose (Estos procedimientos se ejecutan automaticamente respectivamente al momento de abrir y cerrar un archivo).

3. Utilizar el metodo OnTime de Excel para ejecutar un procedimiento cada cierto tiempo.

Eso es todo amigos





martes, 17 de marzo de 2015

Ensamblando las piezas

!!! Hola !!!

Una de las dificultades que se presentan en el proceso de aprendisaje de las caracteristicas de Excel es que se aprenden multitud de caracteristicas del programa (ya sea del manejo de la interfaz y del modelo de objetos a traves de VBA), pero no se tiene la capacidad de implementarlas en forma conjunta dentro de un proyecto.

Son como pildoras informaticas sueltas:
Como lograr que Excel "pronuncie" una frase (ver la entrada: "Que fue lo que dijo")

Como obtener numeros aleatorios (ver la entrada: "Los dados de Excel")

Como obtener el dia de la semana a la que corresponde una fecha (ver la entrada "Que dia fue ese dia")

y otras mas que encuentres en este blog u otros.

Esto es asi por que los articulos de los blogs deben ser cortos, si se quiere que sean atractivos.

Por eso me decidi a crear un proyecto que permita aplicar los conocimientos adquiridos en estas pildoras informaticas:

Vamos a crear una pequeña aplicacion que ayude a estudiar ingles - No estoy todavia muy seguro de que caracteristicas se implementaran, pero sera algo como esto:
Excel dira una frase al azar en ingles y tu deberas escribirla correctamente
(para eso crearemos una base de datos con frases)
Excel mostrara una o varias images de objetos al azar y el usuario debera escribir el nombre (o los nombres) en ingles.
Y otras mas que se me vayan ocurriendo (Acepto sugerencias)

Esto no se hace de la noche a la mañana, toma tiempo, primero hay que conseguir las imagenes jpg, crear la base de datos de frases, etc.

Por ahora les recomiendo que repasen estas entradas (revisen continuamente este articulo, por que voy a ir ampliando este listado).

Que fue lo que dijo?
Para que se familiaricen con la capacidad que tiene Excel de pronunciar frases en ingles.

Los dados de Excel
Para poder entender el proceso de generar numeros aleatorios que permitan seleccionar frases o imagenes al azar

Eso es todo, amigos



Que fue lo que dijo?

!!! Hola !!!


Hoy les voy a mostrar una caracteristica de Microsoft Excel poco conocida, al menos para aquellos que no dominan la lengua de Shakespeare.

Excel puede repetir una frase. Vamos a mostrar varios ejemplos:

Paso No 1.
Abre el Ide de VBA y ubicate en la ventana inmediato

Paso No 2.
Escribe lo siguiente: Application.Speech.Speak "Hello" (termina con la tecla ENTER)

Eso es todo, deberias estar escuchando la frase.


vamos un poco mas alla
Hagamos que Excel lea cada una de las frases que escribes en las hojas de trabajo:

Escribe en la ventana Inmediato:
Application.Speech.SpeakCellOnEnter = True

Listo, a partir de ahora, cada frase que escribas en una celda de la hoja de trabajo sera leida por Excel al momento de usar la tecla ENTER para terminarla.

Como es logico, para deshacer esta caracteristica debes escribir en la ventana inmediato:
Application.Speech.SpeakCellOnEnter = False

Para los que esten interesados y deseen ir un poco mas alla, les dire que lo que acabamos de hacer es manipular el objeto Speech de la aplicacion.
Excel esta compuesto por un sin numero de objetos organizados jerarquicamente, los cuales interactuan entre ellos. El usuario puede manipularlos utilizando el lenguaje de programacion VBA.


Eso es todo amigos