Search This Blog

Showing posts with label VBA. Show all posts
Showing posts with label VBA. Show all posts

Monday, 11 November 2013

Diferencia entre Microsoft Visual Basic y VBA



visual-basic-editor-excel-2010-2007


Para casi todos los fines de la programación, VBA y VB 6.0 son la misma cosa.

VBA no puede compilar el programa en un binario ejecutable. Siempre necesitará el host (un archivo de Word y MS Word, por ejemplo) para contener y ejecutar su proyecto. Usted también no podrá crear DLL COM con VBA.
Aparte de eso, hay una diferencia en el IDE – el IDE de VB 6.0 es más potente en comparación. Por otro lado, tienes la estrecha integración de la aplicación host en VBA. Eventos y objetos de aplicación global (como «ActiveDocument») están disponibles sin declaración, por lo que la programación específica de la aplicación es directa.
Aún así, nada le impide disparar palabra, carga el IDE de VBA y resolver un problema que no tiene relación con la palabra alguna. No sé si hay algo que puede hacer (técnicamente) Visual Basic, y no de VBA.
VBA es sinónimo de Visual Basic para aplicaciones y por lo tanto es el pequeño “para aplicaciones” hermano secuencias de comandos de VBA VB. es hecho disponible en Excel, pero también en otras aplicaciones de office.
Con VB, uno puede crear una aplicación de windows independiente, que no es posible con VBA.
Sin embargo es posible que los desarrolladores “incrustar” VBA en sus propias aplicaciones, como un lenguaje de script para automatizar las aplicaciones.

Microsoft Visual Basic para aplicaciones (VBA) es un entorno de programación incrustables diseñado para permitir a los desarrolladores crear soluciones personalizadas utilizando toda la potencia de Microsoft Visual Basic. Los desarrolladores que utilizan aplicaciones que alojan VBA puede automatizar y extender la funcionalidad de la aplicación, acortando el ciclo de desarrollo de soluciones de negocio personalizadas.

Tenga en cuenta que VB.NET es incluso otro lenguaje, que sólo comparte la sintaxis con VB.
VBA (Visual Basic for Applications) es un lenguaje de secuencias de comandos basado en el clásico de vb en aplicaciones de Microsoft Office. Creo que su lenguaje es similares a los de VB5 (sólo carece de algunas pocas funciones builtin), pero:

Usted tiene acceso a los documentos de oficina que escribió el guión de VBA para y por lo que puede por ejemplo
• Macros de escritura (= rutinas automatizadas para tareas poco recurrentes en su trabajo de oficina)
• Definir nuevas funciones para la fórmula de celda de excel
• Datos de la Oficina de procesos
Ejemplo: Establecer el valor de una celda de excel

ActiveSheet.Cells(“A1″).Value = “Foo”


VBC y – net no son lenguajes de script. Se usan para escribir aplicaciones independientes con independiente del IDE que no se puede hacer con VBA (VBA-scripts sólo “existe” en la Oficina)
VBA no tiene nada que ver con VB.NET (sólo tienen una sintaxis similar).

Fuente: http://es.softuses.com/132202

Wednesday, 6 November 2013

Ejemplo Macro vba en Excel – Informe automático.

La automatización de tareas mediante macros vba en Excel nos otorgan numerosas ventajas como lo son la erradicación de errores de cálculos humanos, ahorro de tiempo de trabajo, resolución de cálculos complejos, eficacia, eficiencia….
Para observar las numerosas ventajas que proporcionan las macros, pongamos un ejemplo sencillo de una tarea repetitiva, imaginemos que todos los lunes al llegar al trabajo, debemos de realizar un informe acerca de los precios y códigos (referencias) actuales de los productos de la empresa, para ello disponemos de un report con el siguiente formato:

Automatización de Informes con Macros Excel.

En la primera fila tenemos el nombre del producto, en la fila inferior la referencia del producto, la fila posterior el precio y finalmente la siguiente fila esta en blanco, así sucesivamente hasta 500 productos:

                                             Formato inicial



El informe a presentar se ha de agrupar todos los productos en una única columna, representado en las columnas contiguas la referencia y precio de cada producto:


                                             Formato final



Analizando el proceso, si se realizara manualmente dicho trabajo deberíamos de hacer los siguientes pasos para cada producto:
1. Seleccionar la referencia del producto
2. “Cortar” la referencia
3. Pegarla en la celda contigua a la del nombre del producto
4. Seleccionar el precio del producto
5. “Cortar” el precio
6. Pegarlo en la celda contigua a la referencia del producto
7. Seleccionar las filas que estén en blanco
8. Borrar las filas


Ref: http://www.webandmacros.com/ejemplo_macro_excel.htm

Una Macro simple con VBA

Creación de un módulo
Una vez dentro del Editor debes hacer clic derecho sobre el título del proyecto y dentro del menú seleccionar la opción Insertar y posteriormente Módulo.

creando-tu-primera-macro-1


Se creará la sección Módulos y dentro de la misma se mostrará el módulo recién creado. Puedes saber que el módulo está abierto porque su nombre se muestra en el título entre corchetes.


creando-tu-primera-macro-2


Si el módulo no está abierto solamente deberás hacer doble clic sobre él. Posiciónate en el área de código e introduce las siguientes instrucciones


creando-tu-primera-macro-3


Antes de avanzar explicaré con detalle las instrucciones mostradas.
Subrutinas en VBA
El primer concepto que explicare es la instrucción Sub que es la abreviación de la palabra subrutina. Una subrutina no es más que un conjunto de instrucciones que se ejecutarán una por una hasta llegar al final de la subrutina que está especificado por la instrucción End Sub.
Las subrutinas nos ayudan a agrupar varias instrucciones de manera que podamos organizar adecuadamente nuestro código. Una subrutina siempre tiene un nombre el cual debe ser especificado justo después de la instrucción Sub y seguido por paréntesis.
La función MsgBox en VBA
La subrutina que acabamos de crear para este ejemplo solamente tiene una instrucción dentro la cual hace uso de la función MsgBox. Esta función nos ayuda a mostrar una ventana de mensaje de manera que podamos estar comunicados con el usuario sobre cualquier error o advertencia que necesitamos darle a conocer. Para este ejemplo he utilizado la forma más sencilla de la función MsgBox la cual solamente tiene un solo argumento que es precisamente el mensaje que necesitamos mostrar en pantalla al usuario.
Ejecutar macro
Para probar nuestro código bastará con pulsar el botón Ejecutar que se encuentra dentro de la barra de herramientas.


creando-tu-primera-macro-4


En cuanto se pulsa el botón se ejecutará el código recién ingresado y obtendremos el resultado en pantalla.


creando-tu-primera-macro-5


Listo, has creado tu primera macro la cual muestra una ventana de mensajes y despliega el texto especificado en la función MsgBox. Para guardar la macro recuerda que debes guardar el archivo como Libro de Excel habilitado para macros, de lo contrario perderás el código del módulo creado.

Fuente: Excel Total http://exceltotal.com/tu-primera-macro-con-vba/

Wednesday, 2 October 2013

¿Que es VBA?

VBA


En los años 1950 se inventa un lenguaje de alto nivel llamado FORTRAN (IBM Mathematical Formula Translating System), orientado a ingeniería y ciencias, que permitía escribir código de una manera más entendible e intutiva para el ser humano que empezar a escribir en ensamblador que es un lenguaje penosamente arduo para la mayoría de las personas. Se dice que es de alto nivel porque la forma de expresar las cosas es más entendible para el ser humano, y evidentemente bajo nivel lidia más con aspectos funcionales de la máquina a niveles mucho menos intuitivos.
A partir de este lenguaje se inventa en 1964 el BASIC (Beginner’s All-purpose Symbolic Instruction Code) por parte de los húngaros John George Kemeny y Thomas Eugene Kurtz del Dartmouth College en New Hampshire, EUA para personas que no tuvieran profundos conocimientos de computadoras y ciencias.
Microsoft crea su propia versión con el lenguaje GW-BASIC y un compilador llamado BASCOM para Compaq. Un compilador sirve para traducir el código que escribe el usuario (código fuente) a lenguaje binario (lenguaje máquina) que es el que las computadoras entienden. Como el GW-BASIC no compilaba el programa para generar un archivo ejecutable, lo que hacía era “interpretarlo”, que equivale a decir que toma las instrucciones de una en una, las compila y luego las ejecuta, un proceso que hace la ejecución mucho más lenta.
Luego viene Visual Basic (VB) que es un lenguaje, tradicionalmente considerado como orientado a eventos, aunque también es capaz de manejar objetos de una forma algo básica, que se considera fácil de trabajar por el manejo de interfaces gráficas y también por lo entendible que resulta el BASIC del cual se deriva. Fue introducido en 1991 (versión 1), y ha sido objeto de mejoras con el tiempo, pero la versión que se utiliza al programar en macros de Microsoft Office pertenece a la versión 6 de 1998. Posteriormente se introduce el Visual Basic en su versión .NET que tiene importantes diferencias respecto de versiones anteriores, de modo que el código escrito en versión 5 podría no funcionar en .NET
VBA (Visual Basic for Applications) es una versión recortada de Visual Basic 6, que fue extendida con comandos de macro y objetos específicos de Microsoft Office. A diferencia del Visual Basic, no puede generar archivos ejecutables, sino que el código se debe echar a andar al estar dentro de una de las aplicaciones de Microsoft Office.
¿Cómo crear una macro?
Una macro es parecida un programa, pero se crea al grabar acciones del usuario que se representan como código. Dichas macros por sí solas solo podrían realizar secuencias fijas que empulan al pie de la letra las acciones realizadas por un usuario. Afortunadamente las macros de Officie incorporan la facilidad de usar también elementos de Visual Basic que permiten realizar procedimientos más complejos.
De esta manera puedes grabar algunas acciones (macros) y complementar el resto con instrucciones (VB) que agregas a tu gusto para cambiar todo para que se lleven a cabo los procesos que deseas realizar.


DESCARGAR EJERCICIO PROGRAMACION CON CONTROLES Y USERFORM EN EXCEL

Copy Right:
http://excelservicios.com/index.php/81-informatica/92-excel-vba-y-macros

Tuesday, 3 September 2013

Crear gráficos e informes de tabla dinámica con VBA en Excel 2010



obtenga información acerca de cómo usar Visual Basic para Aplicaciones (VBA) en Microsoft Excel 2010 con el fin de crear y manipular gráficos e informes de tabla dinámica. El uso de código para crear informes y gráficos de tabla dinámica puede ayudarle a realizar estas tareas varias veces y con mayor eficacia.
Información general sobre el uso de VBA con gráficos e informes de tabla dinámica
Crear un informe de tabla dinámica mediante VBA
El informe de tabla dinámica creado por la macro del libro de ejemplo CreatePivot del PivotTablesAndCharts se muestra en la figura 1.

Figura 1. Informe de tabla dinámica
    vba
    Tal como se muestra en las líneas de código siguiente, la macro CreatePivot activa la hoja de cálculo y luego usa el método PivotTableWizard (en inglés) para iniciar el proceso de creación del informe de tabla dinámica.

    VBA
    ActiveWorkbook.Sheets(“Employees”).Select
    Range(“A1″).Select
    Set objTable = Sheet1.PivotTableWizard

    Si presiona F8 en el editor de código para recorrer código de la macro CreatePivot línea por línea, verá que la línea de código que llama al método PivotTableWizard agrega una nueva hoja de cálculo al libro y luego crea el nuevo informe de tabla dinámica en esa hoja. Si presiona F8 en el editor de código para recorrer código de la macro CreatePivot línea por línea, verá que la línea de código que llama al método PivotTableWizard agrega una nueva hoja de cálculo al libro y luego crea el nuevo informe de tabla dinámica en esa hoja.
    El método PivotTableWizard devuelve un objeto de Tabla dinámica (en inglés), que tiene asociada una colección de Campos dinámicos (en inglés). La macro CreatePivot continúa agregando objetos de Campo dinámico (en inglés) a la colección de Campos dinámicos para especificar los siguientes campos de informe de tabla dinámica.
    • Un campo de fila llamado DEPT
    • Un campo de columna llamado LOCATION
    • Un campo de datos basado en el campo SALARIO que usa la función SUM

    Click en:

    http://msdn.microsoft.com/es-es/library/office/hh243933

    (v=office.14).aspx#CreatingPivotTable_Overview

Tuesday, 27 August 2013

Excel VBA Fundamentos




Explicaremos los conceptos básicos de Excel Visual Basic. Es bueno conocer la terminología básica explica en esta sección antes de empezar la programación en Excel Visual Basic.
1 Seguridad de macros: Configuración de la configuración de seguridad de macros correctamente es esencial para protegerse de posibles virus. Asegúrese de que la configuración de seguridad de macros están configurados correctamente por lo que no se puede hacer daño a su equipo.
2 Editor de Visual Basic: Aprenda cómo iniciar el Editor de Visual Basic y obtener la mejor configuración del Explorador de proyectos y la ventana de código en su versión de Excel. El Editor de Visual Basic es el punto de partida para la creación de macros en Excel VBA, por lo que es importante para obtener esta configuración correcta.
3 Comentarios Macro: macro Añadir comentarios a su código VBA Excel y su código será más fácil de leer a medida que aumenta el tamaño del programa.
4 MsgBox: El cuadro de mensaje es un cuadro de diálogo que puede hacer que aparezca para informar a los usuarios de su programa.
5 errores Macro: Tratar con VBA errores pueden ser todo un reto. Este capítulo proporciona un simple consejo para hacer frente a estos errores.
6 Macros de depuración: Antes de ejecutar el código VBA se puede depurar su primera macro. De esta manera la mayoría de los errores se pueden corregir antes de ejecutar el código.
7 objetos, propiedades y métodos: En este capítulo usted aprenderá más acerca de los objetos de Excel VBA. Un objeto tiene propiedades y métodos. Excel Visual Basic es un lenguaje de programación orientado a semi-objeto. Aprenda más acerca de la jerarquía de objetos de Excel Visual Basic.
8 Libro y Hoja de trabajo: En este capítulo usted aprenderá más sobre el libro de VBA Excel y Excel objeto de hoja de VBA. Usted verá que la hoja de trabajo y objeto Workbook tienen propiedades y métodos, así como la propiedad de recuento que cuenta el número de libros de activos u hojas de cálculo. El libro y el objeto de hoja se utilizan comúnmente en Excel VBA. Son muy útiles cuando el código de macro tiene que ser ejecutado en diferentes libros u hojas de cálculo.
9 Aplicación Objeto: La madre de todos los objetos en sí es Excel. Lo llamamos el objeto Application. El objeto de la aplicación da acceso a una gran cantidad de opciones relacionadas con el Excel.
http://www.excel-vba-easy.com/

Monday, 26 August 2013

Excel VBA Programación






Esta sección es para los usuarios que quieren obtener el máximo rendimiento de Excel VBA.
Excel Programación VBA no es difícil, pero sí es necesario saber las palabras clave utilizadas en Excel VBA.
1 Variables: Excel VBA utiliza variables como cualquier otro lenguaje de programación. Aprenda cómo declarar e inicializar una variable de excel vba de tipo Integer, String, Double, Boolean y fecha.
2 de manipulación de cadenas: Hay muchas funciones en Excel VBA que podemos utilizar para manipular cadenas. En este capítulo se puede encontrar una revisión de las funciones más importantes.
3 Cálculo: Cálculo con Excel VBA y sumar, restar, multiplicar y dividir valores como usted está acostumbrado a hacer en Excel.
4 Si Entonces Declaración: En muchas situaciones solo deseas Excel VBA para ejecutar ciertas líneas de código cuando se cumple una condición específica. El caso Then le permite hacer esto. En lugar de múltiples Si Then, puede utilizar Select Case.
5 Las células: en lugar del objeto Range más comunes también podríamos utilizar células. Uso de células es particularmente útil cuando se quiere recorrer rangos.
6 Loop: Lazo es una de las técnicas de programación más potentes. Un bucle (o bucle For Next) en Excel VBA le permite recorrer una serie de datos con sólo unas pocas líneas de código.
7 Operadores lógicos: ¿Desea ejecutar código en Excel Visual Basic cuando se cumplan las condiciones más? O sólo uno? ¿O no? Los operadores lógicos son lo que usted necesita! Los operadores lógicos como AND, OR y no se utilizan a menudo en Excel VBA.
8 Alcance: El objeto Range que es la representación de una celda (o celdas) de la hoja de cálculo es el objeto más importante de Excel VBA. Tiene muchas propiedades y métodos y que son esenciales para manipular el contenido de la hoja de cálculo Excel. En este capítulo usted descubrirá las propiedades y métodos del objeto Range Excel VBA más útiles. Ellos le permiten obtener el control de la hoja de cálculo Excel.
9 Eventos: Este capítulo le enseña cómo libro del programa y los eventos de hoja de cálculo. Los eventos son acciones realizadas por los usuarios que desencadenan Excel VBA para ejecutar una macro. Por ejemplo, cuando se abre un libro o cuando se cambia algo en una hoja de cálculo de Excel, Excel VBA puede ejecutar automáticamente una macro.
10 Matriz: Matriz VBA Excel es un grupo de variables. Se puede hacer referencia a una variable (elemento) de una matriz utilizando el nombre de la matriz y el número de índice.
11 Fecha y hora: Fechas y horas en Excel VBA se pueden manipular de muchas maneras. Ejemplos sencillos se dan en este capítulo.
12 Funciones y Sub: La diferencia entre una función y un sub en Excel VBA es que una función puede devolver un valor y un submarino no puede. En este capítulo vamos a ver un ejemplo sencillo de una función y un sub. Funciones y subs van a ser muy útil a medida que aumenta el tamaño del programa.
http://www.excel-vba-easy.com/

Thursday, 8 August 2013

VBA Macros demystified





Macros demystified: what they are and what they are used
What is a macro?
A macro is a set of commands that can be applied with a single click. They can automate almost any task that can be performed in the program you are using and even let you perform tasks did not think possible.
Are macros a type of programming?
Macros are programming, but need not be a programmer or programming skills to use them. Most macros that can be created in the Office programs are written in a language called Microsoft Visual Basic for Applications, known as VBA. VBA macros are discussed in this article.
What is a macro?
A macro is a set of commands that can be applied with a single click. They can automate almost any task that can be performed in the program you are using and even let you perform tasks did not think possible.
Are macros a type of programming?
Macros are programming, but need not be a programmer or programming skills to use them. Most macros that can be created in the Office programs are written in a language called Microsoft Visual Basic for Applications, known as VBA.
Macros save time and expand the possibilities of the programs you use every day. You can use macros to automate tasks repetitive document production, to streamline cumbersome tasks or to create solutions to automate the creation of documents that you and your colleagues use regularly. Users who are familiar with VBA macros can be used to create custom plug-ins or templates including dialog boxes, or even record information for use in different occasions.

http://office.microsoft.com

Monday, 29 July 2013


VBA Excel - Entering a Formula in a Cell
 
 


 


'Enters the formula =SUM($G$12:$G$22) in the active cell:
Sub fomula()
    ActiveCell.Formula = "=SUM($G$12:$G$22)"
End Sub



 

 


 

 

 

 

 

 

Thursday, 25 July 2013

Macros VBA (3)


Macros VBA (2)

Deja un comentario








    Tuesday, 23 July 2013

    Macros Visual Basic

    Deja un comentario