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.