Programacion. Guía Macros VBA
Enviado por Sandra75 • 22 de Febrero de 2018 • 2.143 Palabras (9 Páginas) • 400 Visitas
...
El primero sobre el objeto botón de comando. El evento clic hace que cuando se ejecute este formulario y se presione el botón UserForm1 cuyo Caption es Ingresar alumno permita limpiar los cuadros de texto, Insertar una fila en la Hoja activa en la fila que ocupa la celda activa. Finalmente se deja el foco en texto1 (cursor en textbox1).
El segundo evento recae sobre el texto1 que permite el ingreso de caracteres en textbox1 hasta que se presiona tecla Enter KeyCode = 13. Si se presiona tecla Enter salta al texto2 (Textbox2), es decir sale del texto1 y deja el cursor en texto2.
El tercer evento nuevamente pregunta si al digitar presiona la tecla Enter, si es así, se sitúa en Hoja Excel activa específicamente en celda A13, guarda o almacena el valor de texto1 en celda activa, es decir, celda A13, Se sitúa a continuación en celda B13 y deja un valor numérico en celda B13.
Para iniciar la Programación
Se sitúa en el formulario UserForm1 y selecciona el objeto Botón de comando. Hacer dos clic sobre el objeto y se entra al modo código
[pic 5]
En estos momentos usted está programando el evento clic del botón de comando. En forma automática ha creado el código
Private Sub CommandButton1_Click()
End Sub
Todo evento comienza con un prívate (o public) y termina con un End Sub. Lo que va al medio es lo que usted desea que haga el botón cuando presiona clic en modo ejecución.
Arriba de Private Sub CommandButton1_Click() se encuentra el objeto activo llamado CommandButon1 y más a la derecha el procedimiento actual llamado CLIC
Usted también puede programar cualquier objeto con cualquier procedimiento asociado haciendo clic en el botón a la derecha del objeto o procedimiento
Detalle de la Programación UserForm1
Private Sub CommandButton1_Click() Inicia evento clic de objeto commandbutton1
TextBox1.Text Deja en blanco cuadro de texto
TextBox2.Text = Empty Deja en blanco cuadro de texto
Selection.EntireRow.Insert Inserta una fila en hoja excel
TextBox1.SetFocus Deja cursor en cuadro de texto
End Sub Termina evento clic
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then Pregunta si lo digitado es tecla Enter
TextBox2.SetFocus Si es sí deja el foco a cuadro de texto2 (cursor en texto2)
End If Fin de pregunta Si
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Range("A13").Select Se ubica en celda A13 de hoja excel
ActiveCell.FormulaR1C1 = TextBox1 deja el contenido de texto1 en celda active, es decir, A13
Range("B13").Select
ActiveCell.FormulaR1C1 = Val(TextBox2) deja el valor numérico de texto2 en celda B13
End If
End Sub
Detalle de la Programación UserForm2
Private Sub CommandButton1_Click()
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox1.SetFocus
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
TextBox2.SetFocus
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Do While Not IsEmpty(ActiveCell) Ciclo mientras no está vacia la celda activa
ActiveCell.Offset(1, 0).Activate Si no está vacia, la celda activa se ubica una fila màs abajo
Loop Permite volver al ciclo iniciando una nueva pregunta
ActiveCell.Offset(0, 0) = TextBox1 0,0 permite escribir contenido de texto1 en celda activa
ActiveCell.Offset(0, 1) = Val(TextBox2) 0,1 permite escribir valor numérico una celda mas a la derecha
End If
End Sub
Private Sub UserForm_Activate() Se dispara evento Activate del UserForm
Worksheets("Hoja1").Activate Deja la Hoja como hoja activa
Range("A13").Select Deja activa la celda A13
End Sub
Detalle de la Programación de Hoja1 (botones de comando Activex)
Private Sub CommandButton1_Click()
Load UserForm1 Carga en memoria Formulario UserForm1
UserForm1.Show Muestra en pantalla formulario UserForm1
End Sub
Private Sub CommandButton2_Click()
Load UserForm2
UserForm2.Show
End Sub
Detalle de la Programación del Módulo1 (Macro para WordArt)
Sub Agregar() Macro llamada Agregar
Load
...