Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como vba

Visual Basic for Applications en ejemplos(VII): Calcular el número cabalístico

En está serie de ejercicios de VBA hemos visto varias funciones y muchos ejemplos de cómo emplear Microsoft Office Excel VBA. Desde sencillos cálculos hasta algunos más complejos. En está ocasión calcularemos el número cabalístico de diferentes personas (algunas famosas como Bill Gates o Michael Jackson y la mayoría comunes). Para ello necesitaremos lo siguiente: Definir un diccionario (estructuras de datos con llave y valor). El algoritmo para calcular el número cabalístico. Un botón para lanzar el evento. El diccionario estará basado en la tabla de conversión de valores de letras a números del Profesor Lester (investiga si estás interesado en el tema). 1 2 3 4  5  6  7  8  9   A B  C  D  E   F G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Ñ  Def...

Visual Basic for Applications en ejemplos(VI)

En está ocasión veremos cómo crear bloques para el tratamiento de errores o cómo ignorarlos. Visual Basic for Applications al igual que muchos otros lenguajes de programación posee mecanismos para el tratamiento de errores. Para entender mejor que tipos de errores podemos encontrar es mejor enumerarlos: Tipos de errores: Errores en tiempo de compilación: los que ocurren cuando se ejecuta el proceso de verificación de sintaxis, recolección de datos, etc, Errores en tiempo de ejecución: cuando la aplicación está en funcionamiento. Muchos de ellos se deben a la interacción de usuario con el programa. Errores de máquina: puede ser un fallo en la memoria, recursos agotados, etc. en muchos casos el programador no puede hacer nada al respecto más que suplicar a los dioses un poco de piedad. En VBA podemos ignorar el error ocurrido en nuestra aplicación o crear una etiqueta que muestre un mensaje al usuario indicándole cuál fue el error o la causa del este. Primera forma: El...

Visual Basic for Applications en ejemplos(V)

Serie de ejemplos de código en VBA. Código para abrir Hojas, agregar Hojas, seleccionar celdas, etc. VBA es un lenguaje de programación bastante útil para automatizar los procesos y operaciones de las hojas de Excel. Puede ahorrarnos horas y horas en la elaboración de reportes, gráficas, cálculos, etc. Es importante contar con la documentación oficial para poder entender y comprender mejor su uso.

Visual Basic for Applications en ejemplos (IV)

En Visual Basic for Applications todo es un objeto (Object), repito, en Visual Basic for Applications  todo es un objeto y todo objeto tiene propiedades y métodos. Es importante aclarar que existe una jerarquía. En primer lugar está la Application, le siguen los Workbooks, Sheets y Ranges/Cells. Application Workbooks Sheets Ranges Object ("Nombre") Object(Indice) Workbooks("Datos") Workbooks(3) Sheets("Hoja 2") Sheets(2) Range("C3") Cells(5,3) Es importante conocer está jerarquía para poder acceder a los elementos y atributos con los que deseamos trabajar. Ejemplo. Acceder al valor de la casilla B6. Supongamos que el archivo se llama "Datos"y la hoja se llama "Hoja 1". Nota: Ojo con Objet("Nombre")  y/o Object(Indice) En Excel haría esto: =B6 En VBA haría esto: 'Usando Object("Nombre...

Visual Basic for Applications en ejemplos (III)

Nota: Antes de nada podrías ver  como habilitamos la ventana de Desarrollador(Programador): http://alquimistadecodigo.blogspot.com/2018/06/visual-basic-for-applications-en_8.html Ventanitas MsgBox Síntaxis MsgBox(prompt[, buttons] [, title] [, helpfile, context]) Ejemplos. MsgBox "Hola, usuario. ¿Qué te parece el lenguaje VBA?" MsgBox "¿Necesitas ayuda?", vbYesNoCancel+vbExclamation MsgBox "¿Seguro quieres eliminar windows de tu sistema?", vbYesNo+vbInformation ,"Aviso del sistema" Dim Resultado As Boolean Resultado = MsgBox "¿Deseas descargar archivo?", vbYesNo  If Resultado=vbYes Then     MsgBox "Descargar archivo" Else    MsgBox "Descarga cancelada" End If Ejemplo 1. Crearemos una hoja de excel habilitada para macros con el nombre Test.xlsm. En la pestaña Desarrollador vamos a Insertar. Saldrá una paleta de controles. Elegimos un CommandButton, le cambiamos el nombre por Activa...

Visual Basic for Applications en ejemplos (II)

Para empezar a programar en VBA necesitamos habilitar la herramienta de Desarrollador (o Programador en algunas versiones). Abrimos Opciones de Excel > Personalizar cinta de opciones: Marcamos la etiqueta de Desarrollador. Damos Aceptar. Debe quedar algo así en la barra de Excel: Listo. Podemos empezar a programar en VBA. Guardamos con la extensión *.xlsm y habilitamos la seguridad de macros (Centro de confianza). Debemos presionar las teclas Alt + F11 para abrir el editor de código. Variables y constantes. Una variable es un espacio en memoria que tiene un tipo un nombre de referencia y su valor puede variar. Para definir una variable debes usar Dim . Nos sirve para declarar y asignar espacio de una o más variables. Existen variables tipo Integer, Long, Single, String, Boolean, Variant. Una constante es un valor que no puede variar. Ejemplo. 'Variables, su valor puede ser modificado Dim  Entero As Integer Dim Cadena As String Dim Verdade...

Visual Basic for Applications en ejemplos (I)

¿Por qué debería aprender a programar en VBA? Si quieres programar aplicaciones para Microsoft y ampliar las funcionalidades de su suite ofimático (Microsoft Office) te servirá bastante. Si no es el caso, de todos modos no te quitará nada saber sobre VBA. Microsoft Excel, Word, Outlook y PowerPoint  poseen un editor de código para automatizar tareas. Emplean el lenguaje Visual Basic (for Applications) para programar.  El lenguaje es relativamente sencillo de aprender a mi parecer. Las estructuras de control son similares a cualquier lenguaje de programación, salvando las distancias obviamente. Estructuras de control en Visual Basic. 1. Top-down (de arriba hacia abajo) 2. Selectivas. 3.  Repetitivas. Ejemplos. 'Este es un comentario 'Estructura selectiva usando If Dim clave As String If clave="12345" Then    MsgBox "Tu clave es correcta" Else     MsgBox "Tu clave es incorrecta" End If 'Usando Select Case (selectiva) Dim...