martes, 5 de abril de 2016

MACRO PARA INSERTAR REGISTROS EN SQL SERVER DESDE EXCEL

Hoy les traigo una macro que como lo dice el titulo nos permitirá insertar registros en sql server.

Tengo una base de datos a la cual llame escuela en la que una de sus tablas contiene la información de los estudiantes: código, nombre, primer apellido, segundo apellido, sexo , edad


En este momento la tabla estudiantes esta vacía:


Nos daremos a la tarea de crear una macro en vba Excel que nos permite insertar registros en esta tabla.
Pero para poder agregar registros a la tabla obviamente primero debemos conectarnos a sql server con dicho fin escribimos la siguiente rutina:


En una entrada anterior de este mismo blog te explico el funcionamiento de esta rutina la cual queremos que se ejecute cada vez que abran el libro de Excel, para que sea así  he creado una rutina más:


La rutina iniciar invoca a la de conexión pasándole como parámetro el nombre del servidor y de la base de datos, esta información se encuentra dentro de la misma hoja de calculo:


En nuestro IDE de VBA hacemos clic en la sección  ThisWorkBook


Y agregamos el siguiente código:


De ahora en adelante cada vez que abramos este libro se ejecutara la macro de forma automática.
Ahora que ya podemos conectarnos a sql server, creamos un formulario para pedir al usuario de nuestra macro la información de los estudiantes que se desea agregar a la base de datos


Como puedes ver este formulario cuenta con un campo para la edad, llenaremos este campo con los números entre 1 y 100, para esto usamos la siguiente rutina:


Para que la rutina anterior se ejecute cada vez que se active el formulario la invocamos desde el método Activate del formulario.


Cada vez que nuestro usuario haga clic en el botón guardar la macro validara que toda la información esta diligenciada, para eso usamos el siguiente código:



Como ya indicamos esta rutina será invocada desde el botón Guardar con el siguiente código:


La rutina validar_formulario es invocada pasándole como parámetro el formulario y el número 0, esta rutina validara cada campo del formulario y si encuentra alguno vació le asignara un uno al parámetro recibido como código de error, además mostrara un mensaje en pantalla.

Para ejemplificarlo ejecutamos la macro:


Si hacemos clic en el botón Guardar se genera el siguiente mensaje:



Cuando todas las validaciones son superadas se invoca la rutina que inserta los registros en la tabla de base de datos, la invocamos de la siguiente forma:

Tendremos que utilizar funciones de conversión en VBA para pasar los parámetros de acuerdo al tipo de datos que recibe la rutina insertar registros, usamos la función Clng para convertir el código del estudiante de tipo texto a un entero largo, usamos la función Cint para convertir la edad del estudiante de tipo texto a entero.

Veamos la rutina que inserta los registros en la base de datos:


Esta rutina ejecuta una sencilla instrucción insert  sobre nuestra base de datos.

Ahora agregaremos un registro a la base de datos usando nuestra macro.


Finalmente hacemos clic en el botón Guardar.


Podemos ver que el registro quedo almacenado en la base de datos:

Espero que esta información te sea útil, si quieres automatizar tus procesos con VBA escríbenos a macrosymacros@gmail.com. En nuestro ebook encontraras una colección de macros completas ya terminadas encuéntralo aquí.

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

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

Para aprender mas sobre VBA sigue nuestro curso online.

El curso consta de 7 horas y 28 lecciones en vídeo. Aprenderás a ahorrar tiempo en excel , al automatizar tu trabajo mediante macros evitando perdida de tiempo en tareas repetitivas. Aprenderás desde cero a programar en VBA.

Para mayor información sobre el curso de Excel online haga clic aquí.







lunes, 21 de marzo de 2016

COMO ABRIR UNA BASE DE DATOS SQL SERVER DESDE EXCEL CON MACROS VBA

SQL server es uno de los administradores de base de datos mas usados y VBA  nos permite abrir una base de datos en sql server desde Excel utilizando macros, esto puede hacerse también de forma dinámica con las herramientas que brinda Excel, como te lo enseñamos en nuestro curso online.

Previamente define una base de datos llamada escuela:


Antes de empezar a escribir la macro debemos tener las siguientes referencias seleccionadas:


Ahora podemos empezar a escribir código,Para conectarnos a  sql server usaremos el modelo de datos ADODB en la definición de las variables, como se muestra a continuación hemos definidos las variables globales:


Después escribimos la siguiente rutina, para conectarnos a la base de datos:


Previamente se definió un formulario que invoca la rutina anterior con los parámetros necesarios, dependiendo como queremos autenticarnos.


El botón aceptar de este formulario tiene el siguiente código:


Si ejecutamos el formulario lo veremos así:


Seleccionamos como queremos autenticarnos:


Selecciono autenticación Windows y lleno los campos exigidos:


Hago clic en aceptar:


En este momento ya estamos conectados a nuestra base de datos.

Espero que esta información te sea útil.

Si te gusto esta entrada, en este link encontraras una colección de mas de 20 macros que te serán útiles en la automatización de hojas de calculo.

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

Si quieres aprender mas sobre Excel no dejes de ver nuestro curso online.





domingo, 31 de enero de 2016

COMO GUARDAR Y BUSCAR INFORMACION EN UN LIBRO DE EXCEL DESDE DE OTRO USANDO MACROS?

En muchas ocasiones Excel es utilizado como base de datos, hoy les traigo una macro que nos permitirá administrar la información de un libro de Excel que usaremos como base de datos desde  otro libro de Excel en el cual ingresaremos y/o buscaremos información.

Este es nuestro libro de datos, como dije anteriormente lo usaremos como base de datos:


Como pueden ver en este momento se encuentra sin datos.

Este es el libro desde el cual ingresaremos la información:


Este libro contiene las macros que nos permitirán acceder al libro de datos, hemos definido tres rutinas: para abrir el libro de datos, para ingresar información y para buscar información.

Hemos definido las siguientes variables como globales:


 Rutina para abrir libro de datos:


Lo que hacemos en esta rutina es abrir el libro de datos, puedes encontrar más información sobre como abrir un libro de Excel desde otro en una entrada anterior de este mismo blog.

Aquí también asignamos valor a la variable WS que hará referencia a la hoja principal del libro desde el cual ingresaremos la información.

La variable WS_FORMATOS hará referencia a una hoja del libro principal que como su nombre lo indica contendrá los formatos en los cuales introduciremos los datos.

Rutina para ingresar Datos:


En esta rutina se invoca a la rutina que abre el libro de datos. Cuando el libro de datos se encuentra abierto validamos si tiene o no datos y cual es la última fila con datos, para esto usamos la instrucción:  fila = WS_DATOS.Range("A1").Rows.End(xlDown).Row.

Cuando sabemos en que fila  de la hoja activa en el libro de datos pondremos la información, empezamos a copiarla desde el libro en el que se ejecutan las macros.

Finalmente grabamos la información en el libro de datos y cerramos el mismo.

Rutina Para Buscar Datos:


Invocamos la rutina que abre el libro de datos y validamos si existe información, si el libro de datos no tiene información mostramos un mensaje informando esto.

Utilizando un ciclo for recorremos el libro de datos buscando por número de documento y cuando lo encontramos copiamos la información desde el libro de datos al libro en el cual ejecutamos las macros.

Si no se encuentra la información en el libro de datos mostramos un mensaje indicando esto.

Finalmente cerramos el libro de datos.

Mira la macro en funcionamiento en el siguiente vídeo .

Si quieres automatizar tus procesos en Excel escríbeme a macrosymacros1@gmail.com.

Para aprender más sobre macros visita nuestro curso online de excel.

Espero que esta macro te sea de utilidad, en este link encontraras una colección de mas de 20 macros ,  por favor deja tus comentarios.
  

jueves, 10 de diciembre de 2015

FUNCIONES DE CADENA EN VBA

Cuando hablamos de cadenas en VBA nos referimos al tipo de dato String el cual representa un conjunto de caracteres donde cada uno de ellos es de tipo Char. Para resumir podemos decir que una cadena es una agrupación de caracteres tipo Char.

Macro para recorrer una cadena de caracteres

En Visual Basic encontramos una serie de funciones que nos permiten manipular cadenas de caracteres. Hoy veremos tres funciones muy importantes y ejemplificaremos su uso con la creación de una macro que nos permitirá recorrer una cadena de caracteres, descomponerla y encontrar el código ascii correspondiente a cada carácter de la cadena.

Función Len: Nos retorna la longitud de una cadena de caracteres, su sintaxis es
Len(cadena de caracteres).

Función Mid: esta función nos retorna una subcadena con n caracteres a partir de la posición x. Su sintaxis es Mid(cadena de caracteres, posición inicial , longitud subcadena).

Función ASC: retorna el código Ascii que corresponde a un carácter. Su sintaxis es ASC(carácter).

Veamos la macro:

Curso Online De Excel

Previo a la escritura de la macro creamos la siguiente hoja de cálculo:


En la posición A2 de la hoja de calculo tenemos la palabra que recorreremos con la macro (puedes usar cualquier palabra).

Primero calculamos la longitud de la cadena usando la función Len. Cuando ya conocemos su longitud la recorremos desde la primera posición hasta la ultima utilizando un ciclo for. 

Para leer cada carácter de la cadena usamos la función mid , se toma cada carácter y se escribe en la columna B de la hoja de calculo.

Para cada carácter leído con la función Mid buscamos su correspondiente código Ascii  usando la función ASC y lo escribimos en la columna C de la hoja de cálculo.

Finalmente veremos la hoja de cálculo así:


Espero que esta macro te sea útil, deja tus comentarios o escríbeme a macrosymacros1@gmail.com. Para aprender más sobre macros y VBA visita nuestro curso online  , en este enlace podrás descargar una colección de mas de 20 macros.




martes, 1 de diciembre de 2015

MACRO PARA CREAR HIPERVINCULOS


1   Crear  hipervínculos en Excel es muy fácil, pero si tuviéramos que generar una gran cantidad de estos Seria bastante tedioso crear uno por uno.

Hoy les traigo una macro que nos permitirá crear hipervínculos de forma masiva.

Esta macro hará lo siguiente:
Recorrerá una lista con el nombre de los documentos a los cuales queremos referenciar con el hipervínculo.
Creara el hipervínculo a dichos documentos.

Aquí esta el código:

Curso online de excel


En esta macro son muy importantes las siguientes instrucciones: “ffinal = ws.range(“A1”).End(xlDown).row” , esta instrucción nos permitirá saber cual es la ultima fila con datos en la lista de documentos a los cuales crearemos hipervínculo.

Después nos encontramos un ciclo que recorre la hoja de cálculo por la columna A desde la fila 2 hasta la última fila que hemos calculado con datos

La instrucción “ws.Range("A" & i + 1).Hyperlinks.Add anchor:=ws.Range("A" & i + 1), Address:=direccion”  nos permitirá crear el hipervínculo, esta instrucción tiene dos parámetros muy importantes anchor que indica el lugar o celda de la hoja de calculo donde crearemos el hipervínculo y Addres que nos indica la dirección de el documento al cual queremos hacer referencia(para que la macro funcione todos los documentos deben estar en la misma carpeta en que esta nuestro libro de Excel que contiene la macro), a ambos parámetros(anchor y addres) les asignamos la celda en la cual se encuentra “parada” la macro.

Esta es la hoja de cálculo antes de ejecutar la macro:

Cusro online de excel

En el listado solo puse cuatro documentos, pero la lista puede ser tan larga como necesites.

Esta es la hoja de cálculo después de ejecutar la macro:

Como puede ver ya tiene los hipervínculos a los diferentes documentos.

Espero que esta macro te sea útil, si quieres aprender mas sobre Excel y macros visita nuestro curso online. En la sección de libros recomendados encontraras el enlace al libro Excel 2013.MACROS Y VBA donde encontraras mucha mas información sobre estos temas, en este enlace podrás descargar una colección de mas de 20 macros como esta.







lunes, 23 de noviembre de 2015

MACRO PARA CREAR UN LIBRO DE EXCEL

Hoy les traigo una macro tan sencilla como útil. Veremos como crear un libro de Excel con el uso de VBA.

Antes de escribir la macro debemos tener configuradas correctamente las referencias, de lo contrario la macro no funcionara.

Para agregar las referencias, sigue estos pasos:
Clic en la barra de menú de tu entorno de desarrollo, después seleccionas herramientas y finalmente haces clic en referencias


Curso online excel avanzado
Después que tengamos listas las referencias escribimos el código de nuestra macro:


Como puedes ver se ha definido una sola rutina que nos permitirá crear el libro de Excel, hemos definido tres variables:
Wb de tipo workbook identifica el libro que crearemos.
Ws de tipo worksheet identifica la primera hoja del nuevo libro.
Libro de tipo string nos servirá para guardar el nombre del nuevo libro

Con la instrucción libro = InputBox(“Nombre del libro?”) , pedimos al usuario que ingrese el nombre del nuevo libro y guardamos el valor ingresado en la variable libro.

curso online de excel


Las siguientes cuatro instrucciones son las que en realidad crean el libro y lo graban con el nombre que le hemos asignado.




Finalmente informamos al usuario que el libro se creo de manera exitosa y cerramos el nuevo libro


El nuevo libro se creara en el directorio que se encuentre nuestra macro, esto porque la instrucción “thisworkbook.path” retorna la dirección del libro que esta ejecutando la macro.


Espero que esta macro te sea de utilidad, recuerda para aprender mas de Excel avanzado visita nuestra curso online de Excel.

En este enlace podrás descargar una colección de macros en PDF , si necesitas automatizar tus procesos en excel escríbeme a macrosymacros1@gmail.com.

En el libro Excel 2013.MACROS Y VBA podrás aprender a programar y sacar el máximo provecho del lenguaje de programación VBA, en la sección de libros recomendados se encuentra el link.

Curso online de excel