Página principal



Notas introductorias sobre vba

Descargar 85.74 Kb.

Notas introductorias sobre vba





Descargar 85.74 Kb.
Página1/3
Fecha de conversión05.05.2018
Tamaño85.74 Kb.
  1   2   3

CITIUS

EXCEL – Lecciones de Perfeccionamiento

NOTAS INTRODUCTORIAS SOBRE VBA

(Estas notas no suponen, ni mucho menos, una guía para Excel-VBA, sino unos meros apuntes para una simple introducción al contexto de VBA)

PREVIOS

  • Añadir pestaña de Desarrollador (algunos procedimientos incluidos sin necesidad de editar BVA)

  • Puede ser necesario chequear (rebajar) el nivel de seguridad de Macros para ejecutar algunas macros (en la pestaña de desarrollador hay un icono de acceso a la seguridad de macros)

  • VBA permite automatizar procedimientos, crear formularios, crear nuevas funciones o configurar propiedades de libros y hojas

  • Los comandos básicos de BVA pueden aprenderse grabando macros de forma automática y editándolas después para observar algunas cuestiones

VENTANAS en el editor de VBA para Excel Alt+f11 (o Icono Visual Basic)

  • En esta ventana se definirán los procedimientos o funciones que después se invocarán, por su nombre, en la hoja de cálculo a través del menú de Macros o con una instrucción play desde el menú principal o desde el menú de macros

  • Además, servirá para editar macros grabadas previamente

Ventana de “secciones” (del Proyecto)

  • Los programas definidos en la sección de hojas concretas SÓLO funcionarán para esas hojas; si se quiere que funcionen en todas las hojas pueden definirse en la sección de Módulos o en la sección “thisWorkbook”

  • Los módulos pueden también exportarse o importarse si queremos utilizar alguna macro creada anteriormente

Ventana de comandos

  • Específica de cada “sección”

  • Aparece automáticamente al hacer doble click en cualquier sección de la ventana de proyecto

  • Permite albergar varios procedimientos (sub o function) (que aparecerán automáticamente divididos por una línea)

Ventana de propiedades

  • Define propiedades de cada sección

  • Pueden alterarse propiedades de hojas o del libro, relativamente más sofisticadas que en la configuración global del Excel, simplemente utilizando este menú (aunque no hagamos macros).

    • Por ejemplo, dado que las configuraciones afectan a todo el libro en general, es útil alterar algunas cosas, por ejemplo:

      • Name (nombre interno de la hoja, útil para referencias de programación)

      • Display “right to left” (para cambiar la orientación de la visualización de Excel)

      • StandardWidth (ancho por defecto de columnas) a nivel de hoja como nombre “interno” de una hoja1, si se activa el cálculo o no2 ,….



    • A nivel de libro, hay docenas de opciones, como pedir que guarde o no información personal3, activar una contraseña para apertura4, eliminar la advertencia de “salvar antes de guardar”5, activar las opciones de envío del fichero por correo electrónico6 ……

EJEMPLO DE USO DE UNA MACRO GRABADA y EDITADA POSTERIORMENTE

  • Ejemplo 0:



Grabar una Macro para poner negrilla, subrayado y cursiva a la vez a una celda y guardarla en el libro activo7.



  • Ejemplo 1:



Grabar una macro para copiar y pegar datos de otro fichero (por ejemplo los datos usado para la clase de Bases de Datos, “base_datos2.xls”) en un fichero nuevo (fichero, abrir, localizamos fichero, abrimos, filtramos seleccionando sólo los datos de Alcobendas, marcamos el rango, copiamos, creamos un nuevo fichero, pegamos y paramos la macro).



  • Abrimos la macro en el editor de macros

  • Observamos cómo funciona el procedimiento de revisión de macros “paso a paso” (posicionados en cualquier punto de la macro pulsamos la tecla F8; sucesivas pulsaciones de F8 irán activando comando a comando)

  • Añadimos ahora un poco de código propio (al invocar la macro, el usuario recibirá un mensaje con “Esta macro importará los datos de Alcobendas”). Para ello:

    • Editamos la macro

    • Añadimos en la primera línea el comando “msgbox”, pulsamos espacio (para observar la ayuda del comando), escribimos el texto entre comillas y pulsamos enter. Veremos como el comando se reconoce al aparecer como “MsgBox” en lugar de “msgbox”. El comando es:

MsgBox "Traerá los datos de Alcobendas"

    • Añadimos ahora un condicional sencillo. Por ejemplo, vamos a decirle que, en la pregunta, muestre el botón Si/No y que si el usuario activa el botón NO salga del procedimiento.

If MsgBox("Traerá los datos de Alcobendas", vbYesNo + vbQuestion) = vbNo Then

Exit Sub

Else

(aquí el código de la macro)

EndIf

EnSub

  • ¿Es difícil añadir nuestras propias líneas?

    • Para empezar, podemos grabar procedimientos en nuevas macro y copiar el código dentro de otras macros. Por ejemplo, tratad de dar formato como una tabla al rango de datos importado. Grabad una macro con esa operación e insertar el código nuevo en la otra.

    • La ayuda de VBA de cualquier página más o menos seria nos servirá. Por ejemplo, ¿podéis buscar cómo cerrar el fichero fuente de los datos (el que hemos usado para importar) como orden final de la macro?8.



  • Ejemplo 2:

Realizando un procedimiento iterativo / repetitivo

    • Imaginemos que queremos realizar una operación repetitiva como la siguiente. En la hoja tenemos una columna de datos con algunos huecos y queremos generar un total para cada sección de datos.

    • Los bloques han de tener la misma altura para que la macro grabada sencillamente funcione9





    • Lo primero es generar la macro grabada para un solo bloque de datos, por ejemplo para el que está más arriba en la columna. Empezamos situándonos en la celda C3, activamos las referencias relativas y grabamos la macro.

      • Asignamos a la macro una tecla de acceso rápido, por ejemplo Ctrl+m

      • Grabamos la secuencia de cálculo, incluyendo el formato rojo y negrilla para el subtotal

      • Procuramos que la grabación de la macro termine con nuestro cursor situado en un punto tal que la macro debería ejecutarse nuevamente (punto de iteración). En nuestra ilustración, ese punto de iteración sería la celda C14 que corresponde al inicio del segundo bloque de datos.

    • Una vez grabada la macro, comprobamos que funciona con cualquiera de los bloques de datos.

    • Si la macro funciona, las iteraciones pueden introducirse de manera sencilla con algún tipo de condicional / bucle, como por ejemplo:



Do While Not IsEmpty(ActiveCell)

(texto de la macro)

Loop


  1   2   3

Similar:

Notas introductorias sobre vba iconExcel vba avanzado
La programación de macros con lenguaje Visual Basic (vba) es apta para cualquier
Notas introductorias sobre vba iconPasos para crear formularios en excel con vba
Los formularios en vba son objetos contendores donde se pueden colocar controles que ayudarán
Notas introductorias sobre vba iconNotas explicativas sobre cómo rellenar el formulario de correcciones o adiciones a registros de manuscritos
Para indicaciones multilingües sobre el vocabulario codicológico, aunque con descripciones
Notas introductorias sobre vba iconNotas explicativas sobre cómo rellenar el formulario para adiciones y correcciones a registros de referencias bibliográficas
Notas explicativas sobre cómo rellenar el formulario para adiciones y correcciones a registros de
Notas introductorias sobre vba iconBase de datos notas
Un profesor de Instituto desea llevar el control de notas de sus alumnos, nos ha hecho los siguientes comentarios
Notas introductorias sobre vba iconEjemplo de Formulario vba en Excel En esta ocasión haremos un ejemplo básico de cómo utilizar un formulario vba
En esta ocasión haremos un ejemplo básico de cómo utilizar un formulario vba para desarrollar una mini-aplicación en Excel que realice...
Notas introductorias sobre vba iconFormato marc 21 Conciso para Registros Bibliográficos: Campos de notas
Los campos 500-53X contienen notas bibliográficas que no se aplican específicamente a
Notas introductorias sobre vba iconTurno de oficio y ald 1 Notas aclaratorias sobre la justificación de asuntos relacionados al turno de oficio
Notas aclaratorias sobre la justificación de asuntos relacionados al turno de oficio


Descargar 85.74 Kb.