Entradas

Abrir Excel desde teclado y otros programas

Imagen
La mayor parte de los usuarios que trabajan con Excel y no conocen las ventajas de hacer uso de los atajos desde teclado usualmente abren Excel de alguna de las siguientes formas más habituales: Dan clic en el botón inicio y en "buscar programas" proceden a escribir Excel y con esto aparece un listado de programas que coinciden con la palabra de búsqueda y dan clic sobre el icono de la versión que se tenga instalada.Otros suelen crear un acceso directo en su escritorio y desde ahí dar doble clic para abrirlo. Pero abrir Excel desde teclado al igual que otros programas es mucho mas conveniente por las siguientes razones: Es mucho mas rápido hacer uso del tecladoNo se pierde tiempo en desplazar el cursor y dar clic o clics sobre accesos directosNos ahorramos espacio en el escritorio al no tener tantos accesos a programas Para poder abrir Excel desde teclado bastara con pulsar las teclas: "Windows + R", con ello aparecerá el cuadro de dialogo "Ejecutar" ahí p…

Copiar y pegar datos usando una sola linea de código en VBA/Excel

Como es bien sabido el grabador de macros es una magnifica herramienta para todo aquel principiante que se va iniciando en el mundo de la programación de macros, el inconveniente es que genera demasiado código basura. Por ejemplo al copiar datos de un rango a otro dentro de una misma hoja, el grabador siempre selecciona el rango, lo copia, después selecciona el rango destino y finalmente copia los datos en este. Es por ello que podemos ver un código como el siguiente:

Range("A1:A5").Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste

El fragmento de código anterior se puede optimizar reescribiéndolo de la siguiente manera:

Range("A1:A5").copy Destination:=Range("C1")

Todo el trabajo de copiado y pegado se realiza con tan solo una linea de código. Este metodo es excelente cuando se trabaja exclusivamente sobre valores de datos, la palabra "Destination=" (nombre del parámetro) es opcional.

Crear una calculadora básica en Excel haciendo uso de macros

Imagen
En esta ocasión les mostrare como programar una calculadora básica usando macros en Excel. Esta calculadora nos permitirá realizar las operaciones aritméticas básicas.
En esta serie de videos no profundizo mucho en la explicación de cada instrucción de código, sobre todo del método “Evaluate” el cual hace prácticamente toda la magia, ahorrándonos varias líneas de código para poder efectuar las operaciones correspondientes pero pienso que alguien que ya tiene nociones básicas podrá beneficiarse de estos videos y podrá adaptar el código a futuros proyectos.
Les comparto los videos para que empiecen a programar su calculadora desde cero. No olviden comentar y compartir este post a otras personas.



Evitar seleccionar rangos en el código de macros

Muchos de los que se acercan a la programación de macros en VBA/Excel recurren inicialmente al grabador de macros, sin duda esta es una magnifica herramienta que en algunas ocasiones y dependiendo de la complejidad del problema que se quiera resolver, será más que suficiente. Algunas otras veces solo se quiere saber el código necesario para realizar alguna acción e incorporarlo a un código que ya se tiene.

El problema con el grabador de macros es que genera código basura, es decir código redundante que puede impactar la velocidad en la que se ejecuta una macro. Tuve la oportunidad de ver la ejecución de una macro que tardaba 2 días para generar reportes de métricas mensuales. Casi todo el código de esa macro utilizaba código grabado. No es malo utilizar código generado por la grabadora, el problema radica en no optimizarlo.

En Excel es necesario seleccionar primero las cosas antes de actuar sobre ellas. Por ejemplo, se selecciona la fila uno y se le aplica un formato en negrita. Sin e…

Macro para guardar y cerrar todos los libros abiertos

Imagen
Muchos usuarios de Excel están acostumbrados a trabajar con varios libros abiertos a la vez, varias pueden ser las razones como el hecho de tener fragmentada la información. En lo personal considero que es mucho más óptimo trabajar con la menor cantidad de libros abiertos posibles con lo cual ahorramos recursos como memoria RAM, pero esto ya corresponde a otro post, en éste quiero compartir con ustedes el código macro para guardar y cerrar cada uno de los libros abiertos. 

Supongamos que tenemos 5 libros abiertos, lo que hará esta macro será recorrer cada uno de los libros abiertos guardar y cerrarlo, entra más libros estén abiertos mayor el tiempo que nos ahorraremos en guardar y cerrar cada uno de ellos. Este es el código:
Sub GuardarCerrar()
Dim wbLibro As Workbook

For Each wbLibro In Workbooks
wbLibro.Close True
Next
End Sub
NOTA: Para aquellos libros que pudiesen haber sido creados y modificados, pero que no han sido guardados, nos aparecerá el cuadro de dialogo “Guardar como”…

Obtener el tiempo que tarda una macro en ejecutarse

Imagen
Como programador, por lo general se debe buscar la manera más óptima de crear código VBA el cual haga uso de los recursos de manera más eficiente (como la memoria, almacenamiento en disco duro) y a su vez se ejecute en el menor tiempo posible (uso de CPU).
Para ello se puede recurrir a diversas estrategias tales como el implementar algoritmos eficientes, hacer uso de estructuras de datos, entre otras más. Pero en este caso les voy a mostrar una técnica llamada “Benchmark”, la cual básicamente se enfoca en saber el tiempo que tarda un fragmento de código en ejecutarse.
Lo más habitual es estimar cuánto tiempo le tomará a nuestro código ejecutarse y para ello hacemos una comparativa en el proceso de ejecución del programa, para ello podemos utilizar alguna de las dos siguientes opciones:
Uso de la función NowUso de la función Timer
Ya muchos conocen la función Now la cual devuelve la fecha y hora actuales, la cual se podría usar de la siguiente forma:
Sub BenchMark()
Dim Count As Long

Manipulando la cinta de opciones (Ribbonx) de Excel

Imagen
Como es bien sabido a partir de la versión 2007, Microsoft agrego la cinta de opciones a Office, incluyendo a Excel, a muchos les disgustó el cambio ya que para entonces se podía ocultar, modificar y manipular la barra de menús y herramientas que proporcionaba Excel por medio de VBA. La cinta de opciones desplazó a la barra de menús y herramientas desde entonces.
Aun se puede recurrir a VBA para crear barras de menús y herramientas dentro de la cinta opciones pero no se aprovecha al máximo las prestaciones y personalización de la nueva cinta. Para poder programar la cinta y sacar ventaja de la misma en nuestras macros o aplicativos se puede utilizar Visual Studio u otras herramientas.
En este artículo no explicare como se programa la cinta, si no que pondré a disposición el libro: “RibbonX for Dummies” el cual explica y brinda números ejemplos para acceder y manipular la cinta de opciones.