VISUAL BASIC DE EXCEL
es un lenguaje de programación de Office con el que es posible crear aplicaciones nuevas y funciones personalizadas para ahorrar tiempo en programas como Excel.
Formulario
Un formulario se crea en una hoja UserForm.
Para insertar una hoja UserForm, acceda a Microsoft Visual Basic y luego seleccione las opciones Insertar - UserForm.
Se agregará una hoja llamada UserForm n (por ejemplo: UserForm1), aparecerá un formulario vacío y el cuadro de herramientas.
Para mostrar la ventana de propiedades, seleccione las opciones Ver - Ventana Propiedades, haga clic en el botón o pulse la tecla [F4].
Diseños
En esta lección vamos a describir el entorno de VBA Excel (Visual Basic para aplicaciones). Usaremos este Editor de Visual Basic para programar y modificar nuestras macros en Excel. En la lección anterior se explica qué es una macro y cómo podemos grabarlas. Sin embargo, a parte de usar este método para crear nuestras macros, podemos programarlas usando el editor de Visual Basic. La programación nos permitirá más alternativas y versatilidad para trabajar con nuestras macros. Además el entorno de trabajo VBA Excel nos permitirá solucionar problemas en la ejecución de las macros grabadas. Pulsamos sobre el botón Visual Basic situado en la ficha programador para acceder al editor de programación.
Cuadro de herramientas
Cuadro de herramientas
Muestra los controles estándar de Visual Basic más los controles ActiveX y los objetos insertables que haya agregado al proyecto.
Puede personalizar el cuadro de herramientas agregando páginas o agregando controles mediante el comando Controles adicionales del menú Herramientas . Cuando agrega una página, una herramienta Seleccionar objetos está siempre disponible en la página.
El cuadro de herramientas de puede encontrar visible cuando tenemos un formulario, debe aparecer flotando cerca al mismo, sin embargo si no esta disponible podemos activarlo de cualquiera de las siguientes formas:
1) En el Editor de Visual Basic, seleccionar Ver, luego la opción Cuadro de herramientas
2) En el conjunto de íconos estándar, seleccionar el ícono con las herramientas
Planillas básicas
Guardar una plantilla
Para guardar un archivo como plantilla, haga clic en Archivo > Guardar como.
Haga doble clic en Equipo o, en Programas de Office 2016, haga doble clic en Este equipo.
Diseño de Cuadros Combinados
Un cuadro combinado es una lista desplegable desde donde un usuario puede seleccionar un elemento o completar su propia elección. Para crear un cuadro combinado en Excel VBA , ejecute los siguientes pasos.
1. En la pestaña Desarrollador , haga clic en Insertar.
2. En el grupo Controles ActiveX, haga clic en Cuadro combinado.
3. Arrastre un cuadro combinado en su hoja de trabajo.
4. Abra el Editor de Visual Basic .
5. Haga doble clic en Este libro en el Explorador de proyectos.
6. Elija Libro de trabajo en la lista desplegable de la izquierda y elija Abrir en la lista desplegable de la derecha.
7. Para agregar elementos al cuadro combinado, agregue las siguientes líneas de código al Evento de apertura del libro de trabajo:
With Sheet1.ComboBox1
.AddItem "Paris"
.AddItem "New York"
.AddItem "London"
End WithNota: use Sheet2 si su cuadro combinado está ubicado en la segunda hoja de trabajo, Sheet3 si su cuadro combinado está ubicado en la tercera hoja de trabajo, etc. Si usa estas líneas de código fuera del evento Workbook Open, es posible que desee agregar las líneas de código a continuación antes de estas líneas de código. La primera línea de código borra el cuadro combinado. De esta manera, sus elementos no se agregarán varias veces si ejecuta su código más de una vez. La segunda línea de código borra su propia elección.
ComboBox1.Clear
ComboBox1.Value = ""8. Para vincular este cuadro combinado a una celda, haga clic derecho en el cuadro combinado (asegúrese de que el modo de diseño esté seleccionado) y haga clic en Propiedades. Complete D2 para LinkedCell.
9. Guarde, cierre y vuelva a abrir el archivo de Excel.
Listas de textos
El cuadro de lista es un control ActiveX que nos permite desplegar una serie de opciones de las cuales el usuario puede realizar una selección. Podemos configurar el cuadro de lista para permitir seleccionar uno o varios elementos de la lista.
DIBUJAR UN CUADRO DE LISTA
Para insertar un cuadro de lista en una hoja de Excel debemos ir a la ficha Programador y pulsar el botón Insertar para seleccionar la opción Cuadro de lista (control ActiveX).
ESPECIFICAR LOS ELEMENTOS DEL CUADRO DE LISTA
Una alternativa para indicar los elementos de un cuadro de lista es a través de la propiedad llamada ListFillRange. Para ello debemos abrir las propiedades del control e indicar el rango de celdas que contiene los elementos:
Formularios con Porcentajes
necesito ayuda con un código para sacar el porcentaje de precios de un abasto.
que la ejecución sea la siguiente:
1°- abra una ventana que te pida el "porcentaje deseado"
2°- que agarre cada "precio" de la data y multiplique por 100 a cada una, después , que se divida con el porcentaje deseado y que el resultado se quede en la data de "precio"
Vaciado de formularios en las hojas electronicas
Para obtener la máxima flexibilidad, puede crear formularios de usuario, que son cuadros de diálogo personalizados, que suelen incluir uno o más ActiveX controles. La disponibilidad de los formularios del usuario se establece mediante código de VBA creado en el Editor de Visual Basic. A continuación, se ofrece un esquema de los pasos para crear un formulario del usuario:
Inserte un formulario del usuario en el proyecto de VBA del libro. Para obtener acceso al proyecto VBA de un libro, primero se muestra el Editor de Visual Basic (presione ALT+F11) y, después, en el menú Insertar, haga clic en Formulario de usuario.
Escriba un procedimiento para mostrar el formulario del usuario.
Agregue controles ActiveX.
Modifique las propiedades para los controles ActiveX.
Escriba procedimientos del controlador de eventos para los controles ActiveX.
Al usar UserForms, también puede usar la funcionalidad avanzada de formularios. Por ejemplo, puede agregar mediante programación un botón de opción diferente para cada letra del alfabeto o puede agregar una casilla para cada elemento en una gran lista de fechas y números.
Convertidores de formularios
A continuación, veremos un programa en Excel VBA que crea un formulario de usuario que convierte cualquier cantidad de una moneda a otra.
El formulario de usuario que vamos a crear tiene el siguiente aspecto:
Para crear este formulario de usuario, ejecute los siguientes pasos.
1. Abra el Editor de Visual Basic . Si el Explorador de proyectos no está visible, haga clic en Ver, Explorador de proyectos.
2. Haga clic en Insertar, formulario de usutaario. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. Su panlla debe configurarse como se muestra a continuación.
3. Agregue las etiquetas, los cuadros de lista (primero a la izquierda, el segundo a la derecha), los cuadros de texto (primero a la izquierda, el segundo a la derecha) y el botón de comando. Una vez que se haya completado, el resultado debe ser coherente con la imagen del formulario de usuario que se mostró anteriormente. Por ejemplo, cree un control de cuadro de lista haciendo clic en ListBox en el cuadro de herramientas. A continuación, puede arrastrar un cuadro de lista en el formulario de usuario.Private Sub CommandButton1_Click()
UserForm1.Show
End SubPrivate Sub UserForm_Initialize()
With ListBox1 .AddItem "Euro" .AddItem "Us Dollar" .AddItem "British Pound"End With
With ListBox2 .AddItem "Euro" .AddItem "Us Dollar" .AddItem "British Pound"End With
ListBox1.ListIndex = 1ListBox2.ListIndex = 0
TextBox1.Value = 1TextBox2.Value = 0.722152
End Sub
4. Puede cambiar los nombres y los títulos de los controles. Los nombres se utilizan en el código de Excel VBA. Los subtítulos son los que aparecen en su pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque solo tenemos unos pocos controles en este ejemplo. Para cambiar el título del formulario de usuario, el botón de comando y las etiquetas, haga clic en Ver, Ventana Propiedades y haga clic en cada control.
5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:
Ahora vamos a crear el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, este sub se ejecutará automáticamente.
6. Abra el Editor de Visual Basic .
7. En el Explorador de proyectos, haga clic con el botón derecho en UserForm1 y luego haga clic en Ver código.
8. Elija Userform de la lista desplegable de la izquierda. Elija Inicializar en la lista desplegable de la derecha.
9. Agregue las siguientes líneas de código:
Explicación: primero, se llenan los dos cuadros de lista. A continuación, la moneda del dólar estadounidense se establece como predeterminada en el primer cuadro de lista y la moneda EURO se establece como predeterminada en el segundo cuadro de lista. Finalmente, se ingresa el valor 1 en el primer cuadro de texto y el valor 0.722152 se ingresa en el segundo cuadro de texto.
10. En el Explorador de proyectos, haga doble clic en UserForm1.
11. Haga doble clic en el botón Ir.
Modulos
¿QUÉ ES UN MÓDULO?
Un módulo es dónde se escribe el código en VBA. Un proyecto de VBA es un conjunto de módulos (o uno sólo) dónde se escriben las diferentes macros y funciones de VBA. Los módulos nos permiten organizar el código de VBA en diferentes archivos dentro de VBA de manera rápida, fácil e intuitiva.
¿CÓMO ACCEDER A UN MÓDULO DE VBA?
Para acceder a un módulo de VBA primero habrá que acceder al proyecto y después elegir el módulo que se quiere editar.
Para acceder al editor de VBA puedes hacer click en Alt + F11 y accederás a una pantalla como la siguiente.
EJEMPLO DE MÓDULO DE VBA
Pongamos un ejemplo. Tenemos pensado hacer unas cuantas macros para un programita que estamos creando. Podrían ser la siguientes:
- 1.Abrir un documento
- 2.Limpiar cierta información
- 3.Pegar información de una parte del documento a otra.
- 4.Crear una nueva hoja con cierta información.
- 5.Aplicar formato a la nueva hoja creada.
- 6.Eliminar la información copiada.
- 7.Eliminar la hoja que hemos creado.
.jpg)
.png)
.jpg)







No hay comentarios.:
Publicar un comentario