domingo, 16 de marzo de 2014

9.-UN EJEMPLO EN VBA-EXCEL

Para esta clase veremos un ejemplo de lo aprendido en VBA-Excel. VBA y el antiguo Basdic tienen mucho en común, la diferencia principal es con la interfaz de usuario, es decir la entrada y salida de datos, que en Basic antiguo son caracteres que se entran por teclado mientras que en VBA son "eventos" en ventanas llamadas "Userform", ejemplo de estos eventos son clics del mouse sobre un botón, ingresos en cajas de texto, etc.

Por ello en VBA no se usan las instrucciones "Input" ni "Print" El el curso online (obligatorio) VBA para oficinistas, se muestra como la programación en VBA se hace en dos etapas: primero se dibujan las interfaces de usuario y luego se programan los componentes (como botones, cajas de texto, etc.) En estos dos videos vemos una aplicación sencilla para agregar datos a una agenda en una hoja de Excel, es un repaso detallado de lo que veremos en clase.



31 comentarios:

  1. yo pensaba que era más complicado hacer este tipo de programas. Con el grabador de macro hay infinitas posibilidades porque uno puede hacer una acción y revisar el código solamente para luego CTRL+C CTRL V.

    Hay que desmenuzar los códigos para ir entendiendo cada uno de los eventos y se nos vaya haciendo más familiar. Esto igual serviría para hacer una lista de tus clientes que te deben , miembros de un club, etc.

    ¿esto lo puedo hacer sólo en VBA o en cualquier lenguaje de programación?







    ResponderEliminar
    Respuestas
    1. Solo en VBA, ni siquiera en el Visual Basic corriente tienes esa posibilidad, yo la descubrí por casualidad hace años cuando no sabía como programar algo en Excel

      Eliminar
  2. Me parece fácil de aprender y divertido!!!Además te da la posibilidad de usar copiar y pegar. Lo único malo profesor es que no puedo ir programando eso en mi pc, tendremos alguna clase de práctica?.
    Programar de esta manera diría que es más para las Pequeñas empresas, además que saber programarlo sería de mucha ayuda y es un punto a favor nuestro, mi duda es, se puede por ejemplo arriba donde sale A, B, C, D.. etc. poner NOMBRE, DIRECCIÓN, TELÉFONO, EMAIL ? y guardarlo de esa manera? cuando abramos el archivo Excel, directamente saldrá nuestra Userform? o hay que hacer lo mismo que nos enseñó en word, del curso VBA?

    Celeste Ayelen Soriano INGESIC.

    ResponderEliminar
  3. Celeste, como dices programar es sumamente fácil y entretenido, para programar en Excel tengo un curso que lleva 7 lecciones, es pagado pero puedes entrar gratis con este link http://bgl.usefedora.com/course/vba2/?couponCode=ESPECIAL

    Sobre poner variables como nombre, dirección, etc. claro que se puede, en el curso de Excel sale como.

    Si creo que vamos a arreglar uas clases en laboratorio hacia el final, pero no te hagas muchas ilusiones, por experiencia se que se aprende mucho más siguiendo los ejemplos en la tranquilidad de la casa que en un laboratorio donde todos preguntan y al final no se avanza nada ¿por que no te descargas el Office? si me preguntas en clase les puedo indicar como

    ResponderEliminar
  4. Esta clase la encontré entretenida y muy práctica, se me hace ahora más fácil el uso de los macros, con el Excel, solo hay que practicar con los códigos, creo yo que este modelo que presento de una agenda se puede utilizar en un inventario de negocios, de clubes, de bebidas, artículos de cumpleaños. etc.
    !!!Profe quisiera saber cómo hizo el sistema de control de la flota de camiones que está en el video introductorio del Visual Basic para oficinas!!!
    Profe El truco del copy past. Es Ctrl + C que sería el copiar y el Ctrl + V que sería el pegar ¿estoy en lo correcto?

    Profe es necesario buscar los códigos en internet a mí me gustaría saber cómo hacer el código ya que me llamo mucho la atención el trabajar con Excel ¿?

    Para la creación de un inventario se pueden utilizar los mismos códigos que la agenda?

    Profesor usted a que le llama índice, acaso son los datos que se ingresan en la Userform1?

    ResponderEliminar
  5. 1.- Voy a buscar el sistema de control de flota de camiones, lo debo tener por alguna parte y si lo encuentro lo publico. Al final del curso estarán en condiciones de entenderlo y modificarlo. Se trata de una combinación de inventarios (para repuestos, neumáticos, etc.) y cuentas corrientes (para control de gastos recauchaje, etc.)

    Para copiar y pegar puede ser con ctrl-c y ctrl-v o con boton derecho, copy-paste, ambos sirven

    Con Excel vamos a trabajar a partir de la próxima clase, un inventario es casi idéntico a una agenda, por eso enseño la agenda primero que es más sencilla, se puede reutilizar todo, los códigos y las userform

    El índice es la línea en que está grabado el último registro (en realidad es la línea más uno, porque el primer ugar está ocupado por eseéindice. Se usa para cuando grabemos los datos en un archivo del disco en lugar de la misma hoja del Excel

    ResponderEliminar
  6. ESQUEMA DE AGENDA
    En esta clase trabajamos la interfaz de usuario para agregar registro en un sistema de agenda.
    En relación al tema de seguridad, ya desde el office 2007 existe un sistema más flexible.
    El proceso de creación de la interfaz fue fácil. Lo más complejo fue el proceso de creación de código.

    Pasos realizados para la creación del esquema:

    1) Crear una interfaz con: labels (nombre, dirección, teléfono, email); 4 textboxs (para cada label) y un CommandButton (Ingresar).

    2) Escribir código en el botón INGRESAR, para la entrada de datos :
    indice = Hoja1.Cells(1, 1)
    If indice = "" Then
    indice = 1
    Hoja1.Cells(1, 1) = indice
    End If
    indice = indice + 1
    Hoja1.Cells(1, 1) = indice
    Hoja1.Cells(indice, 1) = TextBox1.Text
    Hoja1.Cells(indice, 2) = TextBox2.Text
    Hoja1.Cells(indice, 3) = TextBox3.Text
    Hoja1.Cells(indice, 4) = TextBox4.Text
    TextBox1.Text = ""
    TextBox2.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
    TextBox1.SetFocus
    3) Finalmente trabajaremos el código para eliminar datos.

    Lo más interesante de trabajas VBA es que la interfaz del programa es igual en todos los office.
    Pregunta: ¿Existe algún programa que haga esto de manera automatizada?

    Juan Pablo Domínguez
    (INGESIC)

    ResponderEliminar
  7. aplicación sencilla para agregar datos a una agenda en una hoja de Excel,esta forma de trabajar es mucha mas practica y fácil, en el VBA en el exel lo mas complejo fue crear los códigos correctos para la función de la agenda de datos

    CTRL+C CTRL V. es una forma de trabajar mas rápida y eficaz en vez de usar mucho la tabla de herramientas

    ResponderEliminar
  8. La clase de hoy me pareció interesante debido a la forma en cómo podemos llevar un registro y ordenar datos importantes (como nombres, dirección, teléfono, email,etc ) que necesitemos de las personas u otros que consideremos importantes ; además de que podemos tener un registro claro de cuantos datos de personas tenemos en nuestro programa ….. Bueno para ello debemos dibujar la interfaz de usuario y luego programar estas con las debidas instrucciones que explico .
    Sin embargo cuando realize esta programación me di cuenta de que hay que tener cuidado al momento de hacer copia consecutiva de los ComboBox.. puesto que se van distinguiendo (combox1,combox2..etc)y cuando comenze a ordenarlas una tras otra (un combox para nombre ,.. otra para dirección.., etc) no me fije en el orden correlativo.. cosa que ocasiono que no se leyera correctamente… bueno de esta lección y otras cosa mas que me di cuenta..e observe que es fundamental la practica constante .
    Pregunta :
    De acuerdo a la clase que realizamos …. En el índice aparece cuantos datos llevamos, pero Profe yo puedo programar esto para llevar un calculo de cuantos son los datos que han sido borrado de este registro..aparte de llevar un registro de cuantos datos tengo ?….y si es asi como se haría ? :/
    Y profe .. se puede programar que al momento de borrar un dato estos se vallan a otra hoja..? nose para quizás tener un respaldo de estos datos borrados?..... se podría hacer?


    KAREN CALLE LOPEZ (ISIC)

    ResponderEliminar
  9. Karen, lo que haces con los datos borrados depende de las necesidades de cada tipo de programa. En la mayoría de los programas los datos que se borran no se necesitan más, pero como tu dices se podrían mandar a algún lugar de respaldo (como la papelera de reciclaje del Windows) o llevar un índice de los registros que han sido borrados, es posible pero normalmente los datos que se borran ya no se usan más y se pierden. Depende todo de los requerimientos del cliente. Todos los programas se pueden hacer de muchas maneras distintas. Tienes tu nota.

    ResponderEliminar
  10. Estuvo muy didáctica esta lección profesor siempre pensé que programar seria re complicado y me costaría mucho entender el lenguaje computacional pero por lo que veo es cosa de un poco de paciencia y un tanto de palabras claves, además de que en macros de office te hace más sencillo el trabajo. Eligio una buena opción para que aprendiéramos bien. Resulto un video muy atractivo y creo que la mejor forma es el "aprender haciendo". Desde mi postura siempre utilizaba Office para trabajos o informes pero veo que va más allá de eso y se le puede sacar mucho más provecho.

    Datos a tener en cuenta antes de programar:

    - Activar la opción developer en Office
    - Cambiar la seguridad (nivel intermedio)
    - Guardar el procedimiento (Mi pc -> Desktop -> Excel con macros)

    Hizo un buen complemento con el primer y segundo video porque empezó aplicando la programación en macros de office y termino explicándonos los detalles de las instrucciones que se programaron para no cometer errores.

    Tengo un pregunta profesor; ¿Solo debo tener instalado el office en mi pc para transportar mi programa sin importar la versión cierto? y sobre una duda, cuando grabamos en un archivo de texto plano ¿cuál sería el cambio más relevante?

    ResponderEliminar
  11. Claro, basta con tener instalado el Office y si haces tu macro en una versión antigua (el 2003 por ejemplo) es compatible con todas las versiones que vinieron después. Un programa grabado en la versión nueva de Office no lo he probado en una versión antigua, de partida hay que tener descargado el paquete de compatibilidad para poder leer el archivo en xlsm, lo probaré uno de estos días.

    Cuando se graba en un archivo de texto plano, para traspasar el programa y datos debes copiar la hoja excel con el macro y el archivo solamente, nada más, es la manera más sencilla de tener portabilidad entre distintos equipos

    ResponderEliminar
  12. Super entendible los videos ,solo falta practicarlo ,ahora lo tengo mas claro , y mas que nada me interesa los códigos que es lo que me cuesta mas , pero igual ahora entiendo mejor , ademas hay posibilidades de sacar en Internet, aunque me gustaría saberlo por mi misma ,pero practicando de seguro aprenderé.
    Esto le sirve mucho para las pequeñas empresas , ¿las grandes empresas también lo ocuparan ? .

    ¿Que pasa si no grabo los macros se podrá recuperar?
    ¿Cuanto tipos de eventos existe?
    Me he fijado que las mayorías de los códigos están en ingles ¿siempre va ser así ?

    Gracias profe por los vídeos.
    Alejandra Díaz (ISIC)

    ResponderEliminar
  13. Las grandes empresas también ocupan casi los msmos sistemas, pero en gran escala por lo que son más complicados y trabajan muchas personas en ellos haciendo cada uno una pequeña parte especializada, en as peueñas empresas un solo programador hace todo

    Si no grabas los macros chao, no hay como recuperarlos y hay que escribir todo de nuevo

    Los eventos son distintos para cada componente, aunque muchos componentes tienen eventos comunes. Algunos ejemplos son click, doubleclick, activate, exit, change, etc. hay varios más pero a veces cambian según que estemos rogramando, los que más se usan son esos que puse, hay un montón de otros que prácticamente no se usan.

    Para ser exactos los códigos (instruciones) no están en inglés, sino que están escritos en un lenguaje de programación, en este caso es Visual Basic para Aplicaciones, que tiene 40 o un poco más de "palabras reservadas" o instrucciones. Claro que los que crearon el lenguaje le dieron nombre a las instrucciones que fuera nemtécnico, es decir fácil de memorizar y ue diga algo sobe lo que hacen, por eso al referirse a una decisión usamos "If" "then" es decir "si" "entnces" en inglés, como el lenguaje si hizo en USA, todas las instrucciones corresponden a nemotécnicos en inglés, otra cosa si lo hubiesen creado en Chile ;)

    ResponderEliminar
  14. clase entretenida y didactica . Es mucho mas facil aprender con los videos , eso sí , hay que ir practicando .
    Lo mas dificil son los codigos , donde hay que tener mas cuidado de no cometer un error.

    Allyson Antezana INGESIC

    ResponderEliminar
  15. Excelente. casi como un juego vamos copiando y pegando de programas ya establecidos y los adecuamos a lo que necesitamos registrar nosotros. Lo que parecía tan complejo al leer, se hace muy simple al ejecutar.

    ResponderEliminar
  16. Hola Profe

    Visual Basic en Aplicaciones-Excel

    VBA-Excel. VBA y el antiguo Basic tienen mucho en común, la diferencia principal es con la interfaz de usuario, la entrada y salida de datos.
    Basic antiguo: Son caracteres que se entran por teclado mientras que en VBA son "eventos" en ventanas llamadas "Userform.

    Por ello en VBA no se usan las instrucciones "Input" ni "Print", la programación en VBA se hace en dos etapas:
    1) Primero se dibujan las interfaces de usuario.
    2) Segundo programan los componentes (como botones, cajas de texto, etc)



    Saludos
    Carolina Vega (PAE)

    ResponderEliminar
  17. Profesor, interesante materia lo mejor que ahora podemos llevar a la practica todo lo escrito creo que es mas fácil para mi, ya que no dedico mi tiempo 100% a revisar el blog como le decía el otro día bueno también por otro lado es una gran ayuda como lei un poco mas arriba a mi compañera Alejandra para las pequeñas empresas.

    Con esto podemos revolver las dudas en el momento.

    Saludos.
    Gina Ramos A.
    PAE ADMINISTRACIÓN DE EMPRESAS.

    ResponderEliminar
  18. Muy interesante todo, muy entretenidos los videos, sobretodo para llevarlo a la práctica... ¿ para que es set focus? que funcion cumple
    Atte.
    Joanna Rocha H. (PAE)

    ResponderEliminar
  19. Hola profe, bueno este programa es espectacular ya que no solo sirve para pequeñas empresas también puede funcionar al ingresar información importante al momento de brindar un servicio.... es una lástima que no lo hubiera tenido en verano ya que en la municipalidad se ingresa demasiada información en la cual uno tarda horas en hacerlo, lo pondré en marcha para ver si me funciona.

    ResponderEliminar
  20. Set focus dice donde tiene que colocarse el cursor

    ResponderEliminar
  21. Interesante saber el constante avance de la informática en relación a la necesidad de agilizar los procedimientos que impliquen el uso de la planilla electrónica Excel, las empresas demandan más actividades de capacitación que permitan fortalecer las competencias de sus colaboradores en concomitancia del constante avance tecnológico. Todo en base a este curso: Programación de Macros con Visual Basic para Excel, que tiene como objetivo entregar los conocimientos tanto teóricos, como prácticos referentes al uso de macros (creación, grabación, diseño, edición), de forma que el participante de la actividad de capacitación, pueda automatizar y agilizar sus tareas cotidianas a través de esta herramientas (macros), y así lograr una mayor eficiencia y satisfacción en las actividades que lo requieran.
    CRISTIAN CARRASCO PAE

    ResponderEliminar
  22. Es muy relevante saber habilitar la progamacion en VB y saber grabar Macros.
    Ubicando developer en el Excel del office2012 ó 2013 , luego seguir a grabar Excel con macros.
    Entonces en el antiguo VB los códigos son lenguaje entre el comutador y las instrucciones del programador mientras que en VBA son eventos en ventanas llamadas “user form “
    Jose Huanca Choque PAE

    ResponderEliminar
  23. Aquí vimos como podemos llevar un registro y ordenar datos importantes como:
    nombres
    dirección
    teléfono
    email
    que necesitmos de los individuos para algún caso.

    Bueno para llevar a cabo nuestro programa de datos debemos dibujar la interfaz de usuario y luego programar estas con las debidas instrucciones que explico .

    Observacion :hay que tener cuidado al momento de hacer copia consecutiva de los ComboBox. puesto que se van distinguiendo (combox1,combox2..etc)y cuando comenze a ordenarlas una tras otra (un combox para nombre ,.. otra para dirección.., etc) no me fije en el orden correlativo.. cosa que ocasiono que no se leyera correctamente… bueno de esta lección y otras cosa mas que me di cuenta..e observe que es fundamental la practica constante .

    Pregunta :
    ¿Puedo aparte de llevar los datos, llevar la cuenta de datos modificados o borrados? Para tener un respaldo si esque nos llegásemos a equivocar.

    Alfredo Santibañez (ISIC)

    ResponderEliminar
  24. Al principio todo se veía difícil, pero ahora que lo colocamos en practica estos programas, se ha echo mucho fácil de aprender.

    Saludos.

    ResponderEliminar
  25. muy interesante la programación de visual basic en el excel (office), no sabia que con vba se podia hacer agenda, inventarios, formularios, etc. es de gran ayuda usarlo para las pequeñas empresas.

    Brian Choque V. (PAE)

    ResponderEliminar
  26. Que placer es poder llevar un control en un documento en excel , donde todos puedan ver la información en cosa de minutos, la portabilidad de la tecnologia.

    saludos profesor
    Atte Cristian Gómez
    Alumno Pae Ing en Administración de Empresas

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.