Excel Macros :: La importancia de las Comparaciones.

Escribiendo algo de código en estos días recordé la importancia de la clausula Option Compare y me pareció pertinente escribir algo sobre ella; Option Compare es un indicador que va al comienzo del módulo en el cual estas escribiendo tu macro y le indica cómo se van a realizar las comparaciones, porque es importante esto?, muy simple => si estas comparando el valor de celdas, variables, valores de campos edit en formularios, etc.  es muy probable que compares textos que tienen diferencias entre mayúsculas y minúsculas pero que a la larga son iguales, por ejemplo:

Imagen1

Como puedes ver la función Verificar compara “Hola” con “hola” con el Option Compare desactivado y nos indica si son iguales o no (en el editor las líneas que comienzan una coma simple (‘) se toman como comentarios y no se ejecutan), tal como está la Macro nos indica (False), es decir que “Hola” y “hola” no son iguales, pero si quieres saltarte esa semántica tienes que indicarle al módulo la forma en la que compararás los valores, para ello utilizas el Option compare. Sigue leyendo

Excel Macros :: Necesitas Ejemplos ?

Si te has internado en el mundo de las macros para Excel o programación VBA  y estas en el punto en donde lo que necesitas son ejemplos que te ayuden a agudizar tus habilidades para manipular el modelo de objetos de Excel, crea que puedo ayudarte con dos descargas impresindibles para que lo logres:

1 .Manual de Visual Básic para Excel - de- José pedro garcía sabater. y

2. Código de Ejemplo – se desconoce el autor.

Bueno estos dos documentos son una primera muestra de la documentación que he recopilado a los largo de los años y que espero que te sea útil,

Saludos,

Macros (III) :: Introducción al objeto Range – Celdas

En la primera reseña sobre macros para Excel comentaba que el objeto más importante en la colección de objetos de Excel en es Range;  Range es el objeto central para la escritura del código de las Macros pues es el medio por el cual accedemos a las celdas de cada una de las hojas que componen el libro sobre el cual estamos trabajando, el objeto Range representa entre otros:

-          La selección actual.

-          Una celda en particular.

-          Varios rangos de celdas (“Áreas”).

-          Toda una Columna ó Toda una fila.

-          El mismo rango en diferentes hojas (“Rangos 3D”).

-          Etc.

Como puede deducirse del listado anterior el objeto rango tiene que ver con casi todo lo que hagamos en Excel, al fin de cuentas Excel es una hoja de cálculo y sus funcionalidades se centran la manipulación directa o indirecta de las celdas. Sigue leyendo

Tablas Dinámicas (II):: Tablas Dinámicas Simples

Muy bien en el primer post de tablas dinámicas nos centramos en entender el concepto como tal, ahora vamos a crear una serie de tablas dinámicas simples.

Antes de comenzar hay que hacer una claridad en cuanto a la versión de Office, las funcionalidades de las tablas dinámicas son ligeramente diferentes en Office 2007 a las de 2003, de hecho 2007 es más amigable a mi parecer y por ello me centraré en esta última versión.

Antes de comenzar, ya establecimos que hacen las tablas dinámicas ahora empezaremos por entender brevemente cómo lo hacen:

TDII 1

Sigue leyendo

Excel:: De números a letras

Han sido muchas las entradas que encuentro en algunos de los foros que he visto y siempre está la pregunta de alguien que tiene un formato en Excel de factura, pago, remisión, etc. que quiere que se rellene en determinada celda el equivalente en letras de un número particular, dado que es una necesidad bastante general expongo aquí el código fuente de una macro que hice hace un par de años para ello.

Para Comenzar a utilizarla:

Lo primero que tienes que hacer es descargarte este Documento, es un archivo en word (.docx) que contiene el código fuente del conjunto de funciones que componen la macro, utilizarla es bastante fácil:

1. En el libro en que te interesa tener la funcionalidad vas al editor de VBA (Alt + F11) e insertas un nuevo módulo (Menú insterar/Módulo), una vez estando allí copias todo el código fuente del archivo de Word en ese módulo, Ahora tienes el codigo fuente disponible en tu libro de Excel.

2. Para utilizar la función vas a la barra de fórmulas (fx) y dentro del grupo de funciones escoges “Definidas por el Usuario”, allí encontrarás la función Cifra”, la cual tiene dos argumentos: Valor y Denominación, en valor ira la cantidad que deseas que aparezca en letras y en denominación la unidad de medida, Así:

=Cifra(12569;”Pesos”)

Resultado:

“Doce Mil Quinientos Sesenta y Nueve Pesos”

Aclaraciones:

  1. En el argumento valor puedes introducir un valor como o tal, la referencia a una celda o una formula que devuelva un valor.
  2. Cuando construí el código le di un margen entre 1 y 999.999.999.999 así que no lee cifras por encima del Billón.
  3. Puedes integrar la función directamente a Excel para que este disponible en cualquier momento, grabándola como un complemento e instalándola.

Que te sea útil.

Macros (II):: Hola Mundo !!!

En este artículo comenzaré con la parte de programación de macros en Excel, para comenzar a testear casi cualquier lenguaje es utilizado el “Hola mundo”, de hecho algunos clasifican la accesibilidad de un entorno dependiendo de cuánto tiempo pasa entre que te metes en el entorno y logras que el programa ejecute un “hola mundo”, basicamente es que el aplicativo muestre una ventana, cadro de dialogo, pagina, etc con el texto “Hola Mundo”

El propósito de este artículo es mostrarte un camino para que inicies en la programación VBA en Excel, valga aclarar que muchos de los conocimientos de VBA son Visual Basic 6 General por lo que también te servirán para Ms Access, aunque por supuesto te antes de comenzar con Access te recomiendo que leas esto.

Bueno hagamos nuestro “Hola Mundo”: Sigue leyendo