Guia de Ejercicios Macros
Guia de Ejercicios Macros
Guia de Ejercicios Macros
TextBox1
TextBox2
TextBox3
CommandButton3
CommandButton1
CommandButton2
CommandButton1 Click
Private Sub CommandButton1_Click()
'INSERTA FILA EN HOJA DE EXCEL
Selection.EntireRow.Insert
'VACIA LOS TEXTBOX
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
'SITUA EL CURSOR EN TEXTOBOX1
TextBox1.SetFocus
End Sub
CommandButton2 Click
Private Sub CommandButton2_Click()
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
End Sub
CommandButton3 Click
Private Sub CommandButton3_Click()
'CIERRA EL FORMULARIO
Unload Me
End Sub
TextBox1 Change
Private Sub TextBox1_Change()
'SELECCIONA LA CELDA A INSERTAR
Range("A3").Select
'INGRESA EL VALOR DEL TEXTBOX A LA CELDA
ActiveCell.FormulaR1C1 = TextBox1
End Sub
TextBox2 Change
Private Sub TextBox2_Change()
Range("B3").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
TextBox3 Change
Private Sub TextBox3_Change()
Range("C3").Select
ActiveCell.FormulaR1C1 = Val(TextBox3)
End Sub
(General) abrir_formulario
Sub abrir_formulario()
'ABRE EL FORMULARIO
Load UserForm1
UserForm1.Show
End Sub
TextBox1
TextBox2
CommandButton1
CommandButton2
B. Digite el siguiente código.
CommandButton1 Click
Private Sub CommandButton1_Click()
'DECLARANDO VARIABLES
Dim num1 As Double
Dim num2 As Double
'CONDICION IF (SI)
If num1 > num2 Then
MsgBox "El número " & num1 & " es mayor que " & num2
Else
MsgBox "El número " & num2 & " es mayor que " & num1
End If
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
End Sub
CommandButton2 Click
Private Sub CommandButton2_Click()
Unload Me
End Sub
(General) abrir_numeromayor
Sub abrir_numeromayor()
Load UserForm1
UserForm1.Show
End Sub
3. CALCULAR EL PROMEDIO DE 2 NOTAS.
FORMA 1.
La aplicación recoge las notas de la HOJA de Excel y mediante una macro calcula el promedio
y la observación, y los inserta en la HOJA de Excel.
Creamos un módulo
(General) evaluacion
Sub evaluacion()
'cuadro de mensaje
MsgBox "CALCULANDO... "
'DECLARAMOS VARIABLE
Dim nota1 As Integer
Dim nota2 As Integer
Dim promedio As Integer
'ASIGNAMOS EL VALOR DE LA CELDA A2 Y B2 A LAS VARIABLES
nota1 = Range("A2")
nota2 = Range("B2")
promedio = (nota1 + nota2) / 2
'insertamos la variable promedio a celda C2
Range("C2").Select
ActiveCell.FormulaR1C1 = promedio
If promedio > 10 Then
'Se inserta "APROBADO" EN CELDA D2
Range("D2").Select
ActiveCell.FormulaR1C1 = "APROBADO"
Else
'Se inserta "DESAPROBADO" EN CELDA D2
Range("D2").Select
ActiveCell.FormulaR1C1 = "DESAPROBADO"
End If
End Sub
FORMA 2.
TextBox1
TextBox2
TextBox3
Label4
CommandButton3
CommandButton1
CommandButton2
CommandButton3 Click
Private Sub CommandButton3_Click()
Unload Me
End Sub
TextBox1 Change
Private Sub TextBox1_Change()
Range("A3").Select
ActiveCell.FormulaR1C1 = Val(TextBox1)
End Sub
TextBox2 Change
Private Sub TextBox2_Change()
Range("B3").Select
ActiveCell.FormulaR1C1 = Val(TextBox2)
End Sub
TextBox2 Change
Private Sub TextBox2_Change()
Range("B3").Select
ActiveCell.FormulaR1C1 = Val(TextBox2)
End Sub
(General) abrir_promedio
Sub abrir_promedio()
Load UserForm1
UserForm1.Show
End Sub
4. CREAR FORMULARIO DE MANTENIMIENTO.
TextBox1 CommandButton1
TextBox2 CommandButton2
CommandButton3
TextBox3
CommandButton4
B. Digite el siguiente código.
(General) (Declaraciones)
'Creacion de variables públicas
Public ubica As String
Public control As Integer
Public filalibre As Integer
CommandButton1 Click
Private Sub CommandButton1_Click()
'SELECCIONAR HOJA
Sheets("DATOS").Select
'UBICA LA POSICION DE LA FILA VACIA
filalibre = Range("A2").End(xlDown).Offset(1, 0).Row
control = 0
dato = TextBox1
rango = "A2:A" & filalibre
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
'verifica si encontro el codigo
If (midato) Is Nothing Then
' sino encuentra codigo
Sheets("FORMULARIO").Select
MsgBox "No se encontraron los datos, se procede a crear uno nuevo"
TextBox2 = Empty
TextBox3 = Empty
'bloque boton modificar y habilita boton insertar
CommandButton2.Enabled = False
CommandButton3.Enabled = True
Else
'si encuentra el codigo, ubica la fila e inserta los datos
ubica = midato.Address(False, False)
TextBox2.Value = Range(ubica).Offset(0, 1).Value
TextBox3.Value = Range(ubica).Offset(0, 2).Value
control = 1
'bloquea boton modificar
CommandButton2.Enabled = True
End If
'Regresa a la hoja donde esta el formulario
Sheets("FORMULARIO").Select
End Sub
CommandButton2 Click
Private Sub CommandButton2_Click()
'MODIFICAR
Sheets("DATOS").Select
'Actualizar Datos
Range(ubica).Value = TextBox1
Range(ubica).Offset(0, 1).Value = TextBox2
Range(ubica).Offset(0, 2).Value = Val(TextBox3)
control = 0
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
Sheets("FORMULARIO").Select
CommandButton2.Enabled = False
End Sub
CommandButton3 Click
Private Sub CommandButton3_Click()
'INSERTAR
Sheets("DATOS").Select
'Crear nuevos datos
Cells(filalibre, 1).Value = TextBox1
Cells(filalibre, 2).Value = TextBox2
Cells(filalibre, 3).Value = Val(TextBox3)
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
CommandButton3.Enabled = False
Sheets("FORMULARIO").Select
End Sub
CommandButton4 Click
Private Sub CommandButton4_Click()
Unload Me
End Sub
UserForm Activate
Private Sub UserForm_Activate()
CommandButton2.Enabled = False
CommandButton3.Enabled = False
End Sub