jueves, 29 de octubre de 2015

BUCLES EN VISUAL BASIC PARA EXCEL

Imagínese que tiene que escribir un programa en visual Basic que imprima los números de uno hasta mil mientras recorre una hoja de cálculo, ¿Cómo lo haría?.

Los lenguajes de programación (Visual Basic no es la excepción), nos brindan una solución para este tipo de situaciones, los bucles.
En Visual Basic para Excel tenemos los siguientes bucles:

While…wend , Do…Loop , For…Next .

Curso online de excel 

Ciclo While…End

Ejecuta una instrucción mientras se cumpla una condición:

While condición
    Instrucciones
Wend

En el ejemplo siguiente imprimimos los números desde el uno hasta el 1000 usando el ciclo while

Curso Online de excel 

Ciclo Do…Loop

Este ciclo ejecuta una instrucción hasta que se cumpla una condición ó mientras se cumpla dicha condición

Do  until condición
     Instrucciones
Loop

Mira este ejemplo, ejecuta la instrucción hasta que la variable cont = 1000

Curso online de excel 

También se puede escribir así

Do
  Instrucciones
Loop  until condición.

Este ejemplo funciona igual al anterior únicamente cambia la estructura

Curso online de excel 

Ciclo For…Next

Este ciclo ejecuta una instrucción un número determinado de veces de acuerdo a una variable  que controla las repeticiones, permite definir en cuanto se aumenta la variable de control.

For variable = valor TO limite [step]
         Instrucciones
Next [variable]

En el siguiente ejemplo puedes ver que el ciclo for simplifica el código:



Desde este enlace podrás descargar una colección de mas de 20 macros. Si necesitas automatizar tus procesos en excel  escríbenos a macrosymacros1@gmail.com.

Curso online de excel

Espero que esta información sea de utilidad, para aprender mas sobre excel visita el curso online.

Curso online de excel


jueves, 22 de octubre de 2015

OPERADORES LOGICOS EN VBA PARA EXCEL

Los operadores lógicos también son conocidos como operadores booleanos ya que están basados en el álgebra de Boole, nos permiten comparar dos o más expresiones obteniendo un valor verdadero o falso.

Operador lógico AND

El resultado de la comparación será verdadero si y solo si todas las expresiones son verdaderas en caso contrario será falso, veamos este sencillo ejemplo.


Se definen dos variables y cada una representa un valor entero que pedimos por pantalla



 Usamos el operador and para validar cuál de las dos variables es mayor y además igual a 10

Expresión 1: (a > b): Esta condición se cumple puesto que a = 10 y b= 5, por lo tanto la expresión es verdadera.

Expresión 2: (a = 10): Esta condición se cumple puesto que a = 10, por lo tanto la expresión es verdadera.

Si las dos expresiones son verdaderas se mostrara el siguiente mensaje:

Operador lógico OR

El resultado de la comparación será verdadero si una de las expresiones es verdadera en caso contrario será falso, si en el ejemplo anterior cambiamos el operador and por or veremos lo siguiente:


Igual que en el ejemplo anterior solicitamos dos valores por pantalla:



Con el operador or validamos si la variable es igual a 10 o mayor que la otra variable

Expresión 1: (a > b): Esta condición no se cumple puesto que a=10 es menor que b=11, por lo tanto la expresión es falsa.

Expresión 2: (a = 10): Esta condición se cumple puesto que a = 10, por lo tanto la expresión es verdadera.

Esto es suficiente para que la condición se cumpla porque: Verdadero ó Falso = Verdadero.

Si continuamos la ejecución del programa arrojara el siguiente mensaje:


Para aprender más sobre operadores lógicos y todo en torno al manejo del lenguaje VBA para Excel visita nuestro curso online de excel.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Espero que este post te sea de utilidad, si quieres automatizar tus procesos en excel escríbeme a macrosymacros1@gamail.com.


miércoles, 14 de octubre de 2015

MACRO PARA ADICIONAR UN MENU EN EXCEL

Ocasionalmente tendremos la necesidad de agregar menús en la hoja de cálculo,  VBA para Excel nos permite agregar menús y ejecutar con el uso de estos las macros que hemos creado previamente.

El código siguiente ejemplifica como adicionar un menú:



Como se puede ver el código anterior se invoca la rutina “Dalete_Menu”, esta nos permitirá borrar el menú cada vez que se ejecute la macro, con el fin que no se agregue nuevamente un menú que ya existe. Este el código de la rutina “Delete_Menu”:


Así se verá el menú después de ejecutar la macro:


Si quieres aprender más acerca de macros y programación en VBA visita el curso online de excel donde podrás aprender sobre temas como este y mucho más.

Puedes descargar el documento excel con la macro en este enlace.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Espero que esta macro te sea útil, por favor deja tus comentarios , si necesitas automatizar tus procesos en excel escríbeme a macrosymacros1@gmail.com.

jueves, 8 de octubre de 2015

USO DEL CONTROL IMAGEN EN VBA EXCEL

Regularmente en nuestros programas en VBA tendremos que utilizar imágenes, para tal fin tenemos el control IMAGEN.

Este control como todos los demás tienen varias propiedades, algunas de ellas son:

NAME: Permite asignarle un nombre a el objeto el cual nos permitirá identificarlo dentro del código.

AUTOSIZE: nos permite ajustar la imagen al tamaño del control, dependiendo si le asignamos el valor true o false.

BORDERSTYLE: a esta propiedad podemos asignarle dos valores 0 sin borde 1 con borde.


PICTURE: Esta es la propiedad más importante pues nos permite asignar la imagen al control.

Para ejemplificar el uso de la propiedad imagen escribí una macro que nos permite asignar diferentes imágenes al control, ejemplos como este los puedes encontrar en el curso online de excel.

En la hoja de cálculo están registradas las direcciones en el PC de cuatro imágenes


Tenemos un formulario compuesto por un control combobox( en una entrada anterior vimos su uso) un botón de comando y el control de imagen


Llenamos el control combobox con la información de la hoja de cálculo, para dicho fin utilizamos el siguiente código, esta rutina recibe como parámetro el formulario:


Expliquemos un poco el código anterior, la variable WS de tipo worksheet representa la hoja de cálculo en la cual tenemos nuestros datos, la variable que hemos llamado final no servirá para identificar la última fila con datos en la hoja de Excel. Después de asignar la hoja de cálculo a la variable WS con la instrucción ( set ws _ thisworkbook.worksheets(“HOJA1”)) y calcular la última fila con datos con la instrucción (final = ws.range(“A1”).End(xlDown).Row), empezamos un ciclo que va desde la fila 2 hasta la fila final y durante el cual asignamos a la propiedad additem del combobox la información que tiene la hoja de cálculo en la fila i.

Para invocar la rutina “LLENAR_COMBO” en el código del botón de comando agregamos este código donde el parámetro “ME” representa el formulario:


Cuando el usuario haga clic o seleccione un dato del combobox  ejecutamos el siguiente código:


Lo que hacemos con este código es invocar la rutina “mostrar_imagen”  pasándole como parámetro la dirección de imagen seleccionada y el formulario.

Este es el código que llena el control de imagen


Cargamos la imagen en el control a la propiedad picture  con la instrucción LoadPicture(dirección), asignamos true a la propiedad autosize para que la imagen se ajuste al tamaño del control y le asignamos borde ( el valor fmBordeStyleSingle es igual a 1).

Para aprender más sobre este y otros temas visita el curso online  de excel.

En este enlace encontraras una colección de mas de 20 macros que podrás descargar.

Para automatizar tus proceso en excel escríbeme a macrosymacros1@gmail.com.

Espero que esta macro te sea de utilidad, por favor deja tus comentarios.


sábado, 3 de octubre de 2015

MACRO PARA LLENAR COMBOBOX CON DATOS DE UNA TABLA ACCES

De acuerdo al título de la entrada veremos cómo llenar un control combobox  tomando información de una tabla en acces.

El control combobox nos sirve para mostrar, seleccionar y escribir texto.

El control combobox tiene varios métodos entre ellos el método additem  el cual nos permite agregar datos al control.

Antes de escribir la macro cree una base de datos en acces de la cual tomare la información para llenar el control combobox.


Para empezar insertaremos un formulario en el entorno de desarrollo



Agregaremos al formulario un control combobox .



Agregaremos un boton de comando o commandButton


Crearemos el siguiente código que nos permitirá llenar el combobox , ejemplos como este los puedes encontrar en el curso online de excel.


Este procedimiento recibe como parámetro el formulario en que se encuentra el combobox.

Define las siguientes variables:
  1. DB de tipo dao.database que hace referencia a la base de datos.
  2. RS  de tipo dao.recorset que hace referencia a los registros de la tabla que recorreremos
  3. Strsql que contendrá la instrucción SQL que ejecutaremos.

Se abre la base de datos con la instrucción:
Set db.opendatabase(ubicación del archivo acces)

Ejecutamos la instrucción SQL y recorremos el resultado de la misma hasta llegar al final, mientras se recorre la consulta se agregan los registros al combobox con la instrucción
Fr.cmb1.Additem (registro de la consulta), donde Fr es el formulario , cmb1 es el control combobox.

Se debe agregar el siguiente código al botón de comando:


De esta forma cuando hagamos clic en el botón se invocara a la rutina Llenar_combo que definimos previamente,  el parámetro (ME) hace referencia al formulario.

Si ejecutamos la macro veremos lo siguiente:

Antes de hacer clic en el botón llenar veremos el combobox vacío


Después de hacer clic en el botón llenar veremos el combobox lleno



También podemos llenar un combobox con mas de una columna , en esta entrada te muestro como

Espero que esta macro te sea de utilidad , visita nuestro curso online de excel donde aprenderas mucho mas sobre este y otros temas relacionados con las macros.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Si necesitas automatizar tus proceso en excel escríbeme a macrosymacros1@gmail.com.







jueves, 1 de octubre de 2015

FORMULARIOS EN VBA

Hoy hablaremos sobre los formularios y algunas de sus propiedades. Para hablar de formularios o cualquier otro objeto en VBA debemos tener muy claro tres conceptos: métodos, propiedades y eventos.

METODOS: son las funciones de un objeto, en otras palabras lo que puede hacer el objeto. Si usáramos como ejemplo un automóvil este puede encender, arrancar, acelerar, parar.

PROPIEDADES: Son los atributos del objeto, en caso del automóvil por ejemplo el color.

EVENTOS: Un evento es aquello que indica a nuestro programa VBA  que  ocurrido algo en el entorno, dependiendo del evento que ocurra se activan procedimientos. Por ejemplo cuando hacemos clic en nuestra aplicación esto es un evento que activa un procedimiento.

Un formulario es un objeto más dentro de VBA con sus métodos, propiedades y eventos.

CREACION DE FORMULARIOS EN VBA EXCEL


Para crear un formulario hacemos clic en la opción insertar formulario del menú principal en el entorno de desarrollo VBA


Hacemos clic en UserForm , ya podemos empezar a trabajar con el formulario.

PROPIEDAD NAME


Esta propiedad nos permite asignarle un nombre a nuestro formulario, para el ejemplo le asigne como nombre al formulario Formulario1.



PROPIEDAD CAPTION


Esta propiedad nos sirve  para asignarle un texto a nuestro formulario, para el ejemplo asigne el texto formulario uno.


PROPIEDADES BACKCOLOR, BORDERCOLOR Y BORDERSTYLE


La propiedad backcolor sirve para establecer el color de fondo de nuestro formulario.
Se utiliza la combinación de colores RGB corresponde a rojo, verde, azul. Cada uno de estos colores se representa con un número entre 0 y 255.


La propiedad Bordercolor nos sirve para asignarle colores a los bordes del formulario


La propiedad BorderStyle sirve para establecer el estilo del borde en el  formulario, puede ser 0 ó 1


Podemos cambiar las propiedades de nuestro formulario en tiempo de ejecución, por ejemplo



Espero que esta entrada te haya sido útil, por favor deja tus comentarios. Si quieres aprender más sobre formularios y otros temas relacionados con VBA excel visita nuestro curso online de excel.