miércoles, 22 de enero de 2014

Macro para automatizar registro de datos mediante un formulario

MANUAL DE USO “PLANILLA NEXOINCLUSIÓN”

Al abrir la planilla, debe habilitar el contenido para utilizar las MACROS, lo que permitirá realizar de manera automática el registro de los datos. Una vez realizado esto, se encuentra disponible para trabajar en la planilla. Debe realizarlo cada vez que abra la planilla.



Una vez realizado este procedimiento se pueden comenzar a utilizar las planillas construidas para el registro de los alumnos en los distintos programas que ofrece NexoInclusión, la interfaz de la planilla es la siguiente:

                                                                        

Para ingresar un alumno a estos programas, se debe hacer click en los botones de comando: Programa de Apoyo Académico, Programa de Mentoring o Programa Partner Académico, según corresponda, este origina un formulario de ingreso para el registro de los datos (cada programa tiene su propio formulario dado
que los datos requeridos son distintos). Un formulario en VBA se le denomina USERFORM. Lo anterior se puede lograr mediante los siguientes códigos:
·         
  •       Originar un Formulario al hacer click en los botones de comando de la pág. HOME.


                     Private Sub CommandButton1_Click()
                     UserForm1.Show
                     End Sub
                    
                     Private Sub CommandButton2_Click()
                     UserForm2.Show
                     End Sub

                     Private Sub CommandButton3_Click()
                     UserForm3.Show
                     End Sub




A cada formulario se le agregó etiquetas y cuadros de texto así como un par de botones de comando En el formulario deben ser completados TODOS los datos en el formato indicado. Los códigos utilizados son:

Private Sub UserForm_Initialize()

  • Originar lista desplegable para cada etiqueta


Ingreso.AddItem ("PSU")
Ingreso.AddItem ("BEA")
Ingreso.AddItem ("SIPEE")
Ingreso.AddItem ("CUPO DEPORTIVO")
Ingreso.AddItem ("CONVENIO EXTRAJERO")
Ingreso.AddItem ("CONVENIO ISLA DE PASCUA")

Carrera.AddItem ("IC")
Carrera.AddItem ("IICG")
Carrera.AddItem ("CA")

PAA.AddItem ("Tutorial Matematica I")
PAA.AddItem ("Tutorial Matematica II")
PAA.AddItem ("Tutorial Matematica III")
PAA.AddItem ("Tutorial Algebra I")
PAA.AddItem ("Tutorial Algebra II")
PAA.AddItem ("Tutorial Calculo I")
PAA.AddItem ("Tutorial Calculo II")
PAA.AddItem ("Tutorial Introduccion a la Economia")
PAA.AddItem ("Tutorial Introduccion a la Microconomia")
PAA.AddItem ("Tutorial Introduccion a la Macroeconomia")
PAA.AddItem ("Tutorial Ingles Preparatorio I")

Categoria.AddItem ("Aprobada")
Categoria.AddItem ("Reprobada")

End Sub
Private Sub CommandButton1_Click()

  • Declaración de las variables


Dim Rut As String
Dim Nombre As String
Dim Apellido As String
Dim Ingreso1 As String
Dim Año As Integer
Dim Carrera1 As String
Dim PAA1 As String
Dim Seccion As String
Dim Tutor As String
Dim Semestre As Integer
Dim Categoria1 As String
Dim Comentario As String
Dim ultimafila As Double

  •  Valores que tomaran las etiquetas antes nombradas


Rut = TextRut.Value
Nombre = TextNombre.Value
Apellido = TextApellido.Value
Ingreso1 = Ingreso.Value
Año = TextAño.Value
Carrera1 = Carrera.Value
PAA1 = PAA.Value
Seccion = TextSeccion.Value
Tutor = TextTutor.Value
Semestre = TextSemestre.Value
Categoria1 = Categoria.Value
Comentario = TextComentario.Value

Sheets("PAA").Visible = True
Sheets("PAA").Select

  • Asignar argumentos que corresponden a la posición relativa a la celda


ultimafila = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count

Cells(ultimafila + 1, 1) = Rut
Cells(ultimafila + 1, 2) = Nombre
Cells(ultimafila + 1, 3) = Apellido
Cells(ultimafila + 1, 4) = Ingreso1
Cells(ultimafila + 1, 5) = Año
Cells(ultimafila + 1, 6) = Carrera1
Cells(ultimafila + 1, 7) = PAA1
Cells(ultimafila + 1, 8) = Seccion
Cells(ultimafila + 1, 9) = Tutor
Cells(ultimafila + 1, 10) = Semestre
Cells(ultimafila + 1, 11) = Categoria1
Cells(ultimafila + 1, 12) = Comentario
TextRut = ""
TextNombre = ""
TextApellido = ""
Ingreso = ""
TextAño = ""
Carrera = ""
PAA = ""
TextSeccion = ""
TextTutor = ""
TextSemestre = ""
Categoria = ""
TextComentario = ""
'Unload Me
Sheets("Home").Select
End Sub

Al apretar el botón ingresar, el registro es enviado a la planilla de cada programa, esta se puede ver haciendo click en el botón de la hoja “Home” llamado “Ver Planilla”, como se muestra en la siguiente figura:



El código utilizado para abrir cada hoja respectiva al programa es:
Sub Botón7_Haga_clic_en()
Sheets("HOME").Select
Sheets("PAA").Visible = True
Sheets("PAA").Select
End Sub

Sub Botón8_Haga_clic_en()
Sheets("HOME").Select
Sheets("MENTORING").Visible = True
Sheets("MENTORING").Select
End Sub

Sub Botón10_Haga_clic_en()
Sheets("HOME").Select
Sheets("PARTNER ACAD.").Visible = True
Sheets("PARTNER ACAD.").Select
End Sub

Al hacer click en el botón, se abre la planilla con todos los datos ingresados:











 
Cuando se desee cerrar una de las hojas,  se debe hacer click en el botón “Cerrar Planilla de Registro” o bien se puede ir a la hoja “Home” y hacer click en “Cerrar Planilla xx” según corresponda, esto se recomienda en el caso en que se tengan todas las planillas abiertas y de desee cerrar una en particular. Nunca se debe eliminar una hoja dado que eso dejará la macro inhabilitada para siempre.

Los códigos correspondientes para cerrar las hojas son:

Sub Botón11_Haga_clic_en()
Sheets("PAA").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("HOME").Select

End Sub

Sub Botón12_Haga_clic_en()
Sheets("MENTORING").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("HOME").Select
End Sub
Sub Botón13_Haga_clic_en()
Sheets("PARTNER ACAD.").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("HOME").Select
End Sub


Documento Excel-Macros

No hay comentarios:

Publicar un comentario