Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Guia de Ejercicios Macros

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

EJERCICIOS MACROS – VB

1. INGRESAR DATOS DESDE UN FORMULARIO HACIA HOJA DE EXCEL.


Mediante un formulario se insertar dos valores de texto y uno numérico en una HOJA de
Excel. Los valores se insertar de arriba hacia abajo. Tener en cuenta que debemos de ocultar
la fila 2(esto para que no copie el formato de la fila 1).

A. Diseñar el siguiente formulario

TextBox1

TextBox2

TextBox3

CommandButton3

CommandButton1
CommandButton2

A la hora de crear el formulario tener en cuenta el nombre de los objetos en su


PROPEIDAD (NAME).
B. Digite el siguiente código.
Digite el código en el objeto correspondiente y según su evento.
Recuerde que la comilla simple delante de una línea de código la convierte el comentario
y toma el color verde.

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

Crear un Módulo e inserte el código.

(General) abrir_formulario
Sub abrir_formulario()
'ABRE EL FORMULARIO
Load UserForm1
UserForm1.Show
End Sub

2. CALCULAR EL NÚMERO MAYOR.

Mediante un formulario ingresamos 2 números y usando un cuadro de mensaje nos devuelve


el número mayor.

A. Diseñar el siguiente formulario.

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

'ASIGNANDO VALOR A LAS VARIABLES


num1 = Val(TextBox1)
num2 = Val(TextBox2)

'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

Crear un Módulo e inserte el código.

(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.

A. Realizamos el siguiente diseño.

B. Digite el siguiente código.

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.

A. Realizamos el siguiente diseño.

TextBox1
TextBox2

TextBox3

Label4

CommandButton3

CommandButton1
CommandButton2

B. Digite el siguiente código.


CommandButton1 Click
Private Sub CommandButton1_Click()
'calculando el promedio
TextBox3 = (Val(TextBox1) + Val(TextBox2)) / 2
'condición si es aprobado o desaprobado
If Val(TextBox3) > 10 Then
Label4.Caption = "APROBADO"
Else
Label4.Caption = "DESAPROBADO"
End If
'asignar el valor del promedio a la celda C3
Range("C3").Select
ActiveCell.FormulaR1C1 = Val(TextBox3)
'ASIGNAR EL VALOR DE LA OBSERVACION
Range("D3").Select
ActiveCell.FormulaR1C1 = Label4.Caption
'Inserta una fila
Selection.EntireRow.Insert
End Sub
CommandButton2 Click
Private Sub CommandButton2_Click()
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
Label4.Caption = "Observación"
'Pone el cursor en TextBox1
TextBox1.SetFocus
End Sub

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

Crear un Módulo e inserte el código.

(General) abrir_promedio
Sub abrir_promedio()
Load UserForm1
UserForm1.Show
End Sub
4. CREAR FORMULARIO DE MANTENIMIENTO.

Creamos dos hojas en el libro de Excel, con el nombre DATOS y FORMULARIO.

A. Diseñar el siguiente formulario.

TextBox1 CommandButton1

TextBox2 CommandButton2

CommandButton3
TextBox3
CommandButton4
B. Digite el siguiente código.

Las variables Públicas se crean en la parte superior de la vista de 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

También podría gustarte