macros excel 2007 ejemplos

9
Taller Nº 7. Formularios en Excel Abra un nuevo archivo de Excel. Primero debemos activar la Ficha Programador (Desarrollador). En Excel 2007: De clic en el botón de Office, y luego clic en: Opciones de Excel (abajo) Ahora de clic en la Ficha de la izquierda: Más frecuentes. Busque la opción llamada: Mostrar ficha Programador en la cinta de opciones y actívela dando clic en ella. (Debe quedar esta figura [√] dentro del cuadrito) Luego de clic en Aceptar. De clic en la Ficha Programador y luego de clic en el comando: Seguridad de macros. Busque al lado izquierdo: Configuración de macros y a la derecha active el comando: Habilitar todas las macros (…) dando clic sobre este. También de clic sobre el comando: Confiar en el acceso al modelo de objetos de proyectos de VBA. De clic en Aceptar. En Excel 2013: De clic en el botón Archivo, luego en Opciones, luego en Personalizar cinta de opciones, y en la ventana que sale, en el lado derecho active la opción Desarrollador y Aceptar. De clic en la Ficha Desarrollador, luego en Seguridad de Macros. Abra la opción: Configuración de macros, y de clic en Habilitar todas las macros y Aceptar. CREANDO FORMULARIOS Y PROGRAMÁNDOLOS (10 Puntos) Escriba: Nombre en la celda A1. En B1 escriba: Dirección y en C1 escriba: Teléfono. Estos van centrados, subrayados y en negrita. A la columna A aplique ancho 35 y 40 a la columna B. Un formulario es una ventana que se programa por medio de controles y estos controles responden a sucesos que nosotros programamos. Todo esto se encuentra dentro de Visual Basic. A continuación veamos cómo crear un formulario y cómo programarlo: 1. Presione La Teclas Alt + F11, para entrar al editor de Visual Basic. 2. Active las siguientes opciones: a. De clic en el Menú Ver y elija la opción Explorador de Proyectos b. De clic en el Menú ver y elija la opción Ventana Propiedades 3. En el Menú Insertar de clic en la Opción UserForm. a. VisualBasic insertará un nuevo formulario llamado: UserForm1. b. De clic en el Formulario USERFORM1 para activar el Cuadro de Herramientas, si no se activa de clic en el Menú Ver y elija la opción Cuadro de Herramientas.

Upload: orlando-sanchez

Post on 18-Dec-2015

29 views

Category:

Documents


1 download

DESCRIPTION

Manual macros excel 2007

TRANSCRIPT

  • Taller N 7. Formularios en Excel

    Abra un nuevo archivo de Excel. Primero debemos activar la Ficha Programador (Desarrollador).

    En Excel 2007: De clic en el botn de Office, y luego clic en: Opciones de Excel (abajo) Ahora de clic en la Ficha de la izquierda: Ms frecuentes. Busque la opcin llamada: Mostrar ficha Programador en la cinta de opciones y actvela dando clic en ella. (Debe quedar esta figura [] dentro del cuadrito) Luego de clic en Aceptar.

    De clic en la Ficha Programador y luego de clic en el comando: Seguridad de macros. Busque al lado

    izquierdo: Configuracin de macros y a la derecha active el comando: Habilitar todas las macros () dando clic sobre este. Tambin de clic sobre el comando: Confiar en el acceso al modelo de objetos de

    proyectos de VBA. De clic en Aceptar.

    En Excel 2013: De clic en el botn Archivo, luego en Opciones, luego en Personalizar cinta de opciones,

    y en la ventana que sale, en el lado derecho active la opcin Desarrollador y Aceptar. De clic en la Ficha Desarrollador, luego en Seguridad de Macros. Abra la opcin: Configuracin de macros, y de clic en

    Habilitar todas las macros y Aceptar.

    CREANDO FORMULARIOS Y PROGRAMNDOLOS

    (10 Puntos)

    Escriba: Nombre en la celda A1. En B1 escriba: Direccin y en C1 escriba: Telfono. Estos van centrados, subrayados y en negrita. A la columna A aplique ancho 35 y 40 a la columna B.

    Un formulario es una ventana que se programa por medio de controles y estos controles responden a sucesos

    que nosotros programamos. Todo esto se encuentra dentro de Visual Basic.

    A continuacin veamos cmo crear un formulario y cmo programarlo:

    1. Presione La Teclas Alt + F11, para entrar al editor de Visual Basic.

    2. Active las siguientes opciones:

    a. De clic en el Men Ver y elija la opcin Explorador de Proyectos

    b. De clic en el Men ver y elija la opcin Ventana Propiedades

    3. En el Men Insertar de clic en la Opcin UserForm.

    a. VisualBasic insertar un nuevo formulario

    llamado: UserForm1.

    b. De clic en el Formulario USERFORM1 para

    activar el Cuadro de Herramientas, si no se

    activa de clic en el Men Ver y elija la opcin Cuadro de Herramientas.

  • c. En el panel de propiedades de clic sobre la propiedad Caption y escriba su nombre con letras

    maysculas.

    d. El formulario que vamos a programar tiene el siguiente aspecto, y as debe disearlo:

    Las palabras: Nombre, Direccin y Telfono son Etiquetas (Label) Los cuadros que estn al lado derecho

    de cada etiqueta se llaman: Cuadros de Texto (TextBox) Y abajo se ve un Botn de comando (CommandButton)

    4. En el Cuadro de Herramientas de clic sobre el Control Etiqueta (el que tiene la A) y luego de clic en el Formulario USERFORM1 para insertar la etiqueta.

    a. Observar un recuadro con el nombre Label1

    b. De un clic en la propiedad Caption de la etiqueta y escriba la palabra: Nombre.

    c. Si por error da doble clic en la etiqueta y lo manda a la pantalla de programacin de la etiqueta, solo

    de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto.

    5. En el Cuadro de Herramientas de clic sobre el control Cuadro de Texto (el que tiene ab) y luego de

    clic en el formulario USERFORM1 al lado derecho de la etiqueta que dice Nombre. Este cuadro de texto se llama TextBox1 y debe de estar vaco.

    6. Repita los dos pasos anteriores insertando dos controles Etiqueta y dos controles Cuadro de texto

    escribiendo Direccin en la propiedad Caption de la Label2 y Telfono en la Label3.

    7. En el Cuadro de Herramientas de clic sobre el control Botn de Comando y luego de clic sobre el

    Formulario USERFORM1

    a. De clic en la propiedad Caption y escriba: Insertar.

    b. Si por error da doble clic en el Botn y lo manda a la ventana de programacin, cierre esta ventana.

    8. Ahora de doble clic sobre el cuadro de texto llamado: Textbox1 que se encuentra al frente de la etiqueta

    Nombre y vamos a programarlo.

  • Cuando salga la ventana de Cdigo escriba las instrucciones que se encuentran en letra negrita:

    Private Sub TextBox1_Change() Range("A3").Select

    ActiveCell.FormulaR1C1 = TextBox1 End Sub

    Nota. Lo que est en azul lo genera Excel automticamente, usted solo escribir lo que est en Negrita.

    Estos comandos le indican a Excel que se vaya a la celda A3 y escriba lo que hay en el Textbox1. Para volver al Formulario cierre la ventana de Cdigo.

    9. Ahora de doble clic sobre el cuadro de texto llamado: Textbox2 que se encuentra al frente de la etiqueta

    Direccin y vamos a programarlo. Cuando salga la ventana de Cdigo escriba las instrucciones que se

    encuentran en letra negrita:

    Private Sub TextBox2_Change() Range("B3").Select

    ActiveCell.FormulaR1C1 = TextBox2 End Sub

    Estos comandos le indican a Excel que se vaya a la celda B3 y escriba lo que hay en el Textbox2. Para volver al Formulario cierre la ventana de Cdigo.

    10. Ahora de doble clic sobre el cuadro de texto llamado: Textbox3 que se encuentra al frente de la etiqueta Telfono y vamos a programarlo. Cuando salga la ventana de Cdigo escriba las instrucciones que se

    encuentran en letra negrita:

    Private Sub TextBox3_Change()

    Range("C3").Select ActiveCell.FormulaR1C1 = TextBox3

    End Sub

    Estos comandos le indican a Excel que se vaya a la celda C3 y escriba lo que hay en el Textbox3. Para

    volver al Formulario cierre la ventana de Cdigo.

    11. Ahora de doble clic sobre el control Botn de Comando para programarlo y despus inserte el siguiente cdigo:

    Private Sub CommandButton1_Click() Selection.EntireRow.Insert

    TextBox1 = Empty TextBox2 = Empty

    TextBox3 = Empty

    TextBox1.SetFocus End Sub

    Nota. El comando Empty es empleado para blanquear los Textbox, es decir, para dejarlos vacos.

  • 12. Ahora presione la tecla de funcin F5 para ejecutar el Formulario Userform1.

    Escriba los datos que all se piden (Nombre, direccin y telfono) seguidos de la tecla Enter. En el

    campo direccin escriba el barrio.

    Todo lo que escriba en los Cuadros de Texto (Textbox) se escribir en Excel

    Cuando presione el botn Insertar, se insertar una fila en blanco y los Cuadros de texto (Textbox)

    quedarn vacos.

    Inserte cinco registros con nombre, barrio y telfono. Los datos pueden ser inventados.

    13. Ahora quite los comandos de los procedimientos: textbox1_change(), textbox2_change(), y textbox3_change(), y pngalos al principio del procedimiento Commandbutton1_click() para que quede de

    la siguiente manera:

    Private Sub CommandButton1_Click()

    Range("A3").Select ActiveCell.FormulaR1C1 = TextBox1

    Range("B3").Select ActiveCell.FormulaR1C1 = TextBox2

    Range("C3").Select

    ActiveCell.FormulaR1C1 = TextBox3 Selection.EntireRow.Insert

    TextBox1 = Empty TextBox2 = Empty

    TextBox3 = Empty TextBox1.SetFocus

    End Sub

    Private Sub TextBox1_Change() End Sub

    Private Sub TextBox2_Change() End Sub

    Private Sub TextBox3_Change()

    End Sub

    Observe que los procedimientos: TextBox quedaron vacos. Ejecute de Nuevo el formulario pulsando la

    tecla F5 y observe qu sucede.

    14. Guarde su archivo con su nombre en la carpeta Mis Documentos con la opcin: Libro de Excel habilitado

    para macros.

  • 15. Ahora elimine el cuadro de texto TextBox2 y en su lugar inserte un ComboBox. El formulario queda as:

    16. Ahora de un clic sobre el ComboBox1 y en la ventana de Propiedades busque la opcin: TabIndex y

    escriba: 2 y pulse Enter. De un clic sobre el TextBox3 y en la propiedad TabIndex escriba 3 y pulse Enter.

    17. Frente a la etiqueta direccin, qued un combobox. Ahora de doble clic en el botn Insertar y cambie

    textbox2 por combobox1, para que quede como se muestra a continuacin:

    Private Sub CommandButton1_Click()

    Range("A3").Select ActiveCell.FormulaR1C1 = TextBox1

    Range("B3").Select

    ActiveCell.FormulaR1C1 = ComboBox1 Range("C3").Select

    ActiveCell.FormulaR1C1 = TextBox3 Selection.EntireRow.Insert

    TextBox1 = Empty

    ComboBox1 = Empty TextBox3 = Empty

    TextBox1.SetFocus End Sub

  • 18. De doble clic sobre el formulario, en la parte gris con puntos y busque el evento Initialize al lado derecho para que escriba el siguiente cdigo:

    Private Sub UserForm_Initialize()

    ComboBox1.AddItem "CHAPINERO" ComboBox1.AddItem "SAN LUIS"

    ComboBox1.AddItem "TEUSAQUILLO" ComboBox1.AddItem "GALERAS"

    ComboBox1.AddItem "EL LAGO"

    ComboBox1.AddItem "EL CAMPN" End Sub

    Este comando: AddItem lo que hace es inicializar el

    combobox con una lista de Barrios que van a ser usados en el momento de meter los datos.

    Pulse la tecla F5 para que vea el funcionamiento del formulario. Inserte al menos tres registros con:

    Nombre, barrio y telfono. Observe que no necesita escribir los barrios, sino seleccionarlos de la lista.

    Guarde su archivo con su nombre en la carpeta Mis Documentos con la opcin: Libro de Excel

    habilitado para macros.

  • SEGUNDO EJEMPLO: (10 Puntos) Para comenzar el segundo ejemplo debemos guardar el trabajo anterior y cerrarlo.

    Abra un nuevo archivo de Excel. Escriba Nombre en A1. Edad en B1 y Das vividos en C1. Estos van

    centrados, con negrilla y subrayados. Aplique a la columna A ancho 30.

    Ahora pulse Alt + F11 para ir al editor de Visual Basic, luego dele Insertar UserForm. En la propiedad Caption

    escriba su nombre completo. Ahora vamos a crear un formulario con el siguiente aspecto:

    El formulario tiene:

    a. Tres etiquetas b. Tres Textbox

    c. Un Botn de Comando

    Los datos que se piden son: Nombre y Edad, los Das Vividos se generaran automticamente cuando inserte la

    edad. A continuacin se muestra como se deben de programar estos Controles:

    Programacin de los Controles:

    Private Sub CommandButton1_Click()

    Selection.EntireRow.Insert TextBox1 = Empty

    TextBox2 = Empty TextBox3 = Empty

    TextBox1.SetFocus End Sub

    Private Sub TextBox1_Change() Range("A3").Select

    ActiveCell.FormulaR1C1 = TextBox1 End Sub

    Private Sub TextBox2_Change() Range("B3").Select

    ActiveCell.FormulaR1C1 = TextBox2 TextBox3 = Val(TextBox2) * 365

    End Sub

  • Private Sub TextBox3_Change()

    Range("C3").Select ActiveCell.FormulaR1C1 = TextBox3

    End Sub

    Esto va permitir que cuando se ejecute el formulario y se de la edad el resultado de los das vividos aparecer en el Textbox3 y se escribir tambin en Excel. El comando Val es un comando de Visual Basic que permite

    convertir un valor de texto a un valor numrico.

    EJERCICIO PRACTICO: (30 Puntos)

    En una nueva hoja de Excel, escriba a partir de la celda A1: CEDULA, NOMBRE, CARRERA, JORNADA, SEMESTRE,

    GRUPO, cada palabra en una celda. Debe crear en VisualBasic un formulario que permita introducir estos datos en la hoja de Excel a partir de la fila 3. Necesitar: Once etiquetas (Label), seis cuadros de Texto (TextBox)

    para cdula, nombre y las cuatro notas, cuatro ComboBox para carrera, jornada, semestre y grupo y un Botn de comando (CommandButton), como se muestra a continuacin:

    El combobox1 debe contener tres carreras: Administracin, Contabilidad y Marketing. El ComboBox2 debe

    contener tres jornadas: Maana, Noche y Sbados. El ComboBox3 debe contener los nmeros: 1, 2, 3, 4, 5, 6, 7, 8, 9. El ComboBox4 debe contener los grupos: A, B.

  • En la propiedad Caption del formulario debe escribir su nombre completo. Si no escribe su nombre se le baja 15

    puntos. Los comandos son iguales a los vistos en el primer formulario, lo mismo que la forma de inicializar los

    ComboBox.

    En el evento Change() de cada textbox de las notas correspondientes al primero, segundo y tercer cortes, debe ir la siguiente instruccin:

    Private Sub TextBox5_Change()

    TextBox6.Value = (Val(TextBox3.Value) * 0.3 + Val(TextBox4.Value) * 0.3 + Val(TextBox5.Value) * 0.4)

    End Sub

    Esto con el fin de que se realice el clculo correspondiente a la nota definitiva, en el momento que se digiten las tres notas.