Está en la página 1de 14

Macros en Excel

Carlos Mullisaca Choque


cmullisaca3@umsa.bo

Universidad Mayor de San Andrés

Facultad de Ciencias Económicas y Financieras

Carrera Administración de Empresas

Gestión 2022

CMC (UMSA) Macros en Excel CMCH 1 / 14


Función MsgBox

MsgBox(Mensaje, Botones, Titulo, Archivo de ayuda, contexto)


Mensaje: Obligatorio, es el mensaje que se muestra dentro del cuadro
de dialogo.
Botones: Opcional. Es un numero o una suma de números o
constantes, sirve para mostrar determinados botones e iconos dentro
del cuadro de dialogo.
Tı́tulo: Opcional. Es el texto que se mostrara en la bar diálogo.
Archivo de Ayuda: Opcional. Si ha asignado un texto de ayuda al
cuadro de dialogo
Contexto: Opcional. Es el número que sirve para identificar el texto al
tema de ayuda

CMC (UMSA) Macros en Excel CMCH 2 / 14


Botones de MsgBox

Constante Valor Descripción


VbOKOnly 0 Muestra botón Aceptar
VbOKCancel 1 Muestra botones Aceptar y
Cancelar
VBAbortRetryIgnore 2 Muestra botones Anular, Rein-
tentar e Ignorar
VbYesNoCancel 3 Muestra botones Si, No y Can-
celar
VbYesNo 4 Muestra botones Si y No
VbRetryCancel 5 Muestra botones Reintentar y
Cancelar
VbCritical 16 Muestra icono de Mensaje
Crı́tico

CMC (UMSA) Macros en Excel CMCH 3 / 14


Ejemplos:

Sub Fecha()
MsgBox ("Hoy es: " & Format(Now(), "dd-mm-yyyy"))
End Sub

Sub si_no()
x = MsgBox("Desea Continuar", vbYesNo
+ vqQuestion, "Opción")
If x = vbYesThen
y = MsgBox("Hola Gestión 2014", vbOKOnly,
"Mensaje")
Else
MsgBox Prompt:="Hola, ha acabado el proceso",
Buttons:=VbOkOnLy, Title = "Mensaje"
EndIf
End Sub

CMC (UMSA) Macros en Excel CMCH 4 / 14


Ingreso de datos

InputBox(Prompt[,Title][,Default][,XPos][,YPox][,HelpFile][,Context])
Prompt= Información al usuario sobre lo que se le pide que ingrese.
Title: Opcional, coloca en la barra de tı́tulo de la ventana de diálogo.
Default: Opcional, valor que se asigna a la variable receptora, si no se
digita ningún dato.
XPos: Posición horizontal (pixels) a partir de la cual se visualizará la
ventana
YPos: Posición vertical (pixels)a partir de la cual se visualizará la
ventana.
HelpFile: Nombre del archivo de ayuda.
Context: Ubicación dentro del tema de la ayuda, relativo a la
instrucción. Ejemplo:
Num = InputBox(Ïngrese número”,Ïngreso de datos”,120,4830,2210)
Texto = InputBox(”Hola Bolivia”, , 5, 1200, 4800)

CMC (UMSA) Macros en Excel CMCH 5 / 14


Ingreso de datos

Sub datcol()
Dim nombre As String
Dim ufila As Integer
’Capturar datos
nombre = InputBox("Ingrese nombre")

’captura última fila con datos


ufila = Sheets("nombre").Range("A" & Rows.Count).
End(xlUp).Row‘(XLUP)

’Asignar datos
Sheets("nombre").Cells(ufila + 1, 1) = nombre
End Sub

CMC (UMSA) Macros en Excel CMCH 6 / 14


Ingreso de datos

Sub ci()
Dim cedula As String
Dim ufila As Integer
’Desproteger hoja
ActiveSheet.Unprotect Password:="abcd"
’Capturar datos
cedula = InputBox("Ingrese numero C.I.")
’captura última fila con datos
ufila=Sheets("cedula").Range("b"&Rows.Count).End(xlUp).Row
’Asignar datos
Sheets("cedula").Cells(ufila + 1, 2) = cedula
’Proteger hoja
ActiveSheet.Protect Password:="abcd"
End Sub

CMC (UMSA) Macros en Excel CMCH 7 / 14


Tipos de Variables

Tipo Valores Números


Byte 0 - 255 Enteros
Integer -32,768 a 32,768
Long -2,147,483,684 a 2,147,483,648
Single 32 bits y 7 decimales Reales
Double 64 bits y 16 decimales
String Datos de texto
Boolean Datos Lógicos
Variant Cualquier valos

CMC (UMSA) Macros en Excel CMCH 8 / 14


Formularios de usuario VBA

Los formularios de usuario (UserForm), son cuadros de diálogo que


hacen uso de controles ActiveX y que permiten solicitar información
al usuario.
Estos formularios son creados desde el Editor de Visual Basic y
administrados desde código VBA.
Creado el formulario de usuario se puede arrastrar y soltar los
controles Active X que se muestran en el Cuadro de herramientas:

CMC (UMSA) Macros en Excel CMCH 9 / 14


Formulario Suma dos numeros:

Private Sub CommandButton1_Click()


Dim sumas As Integer, num1 As Integer, num2 As Integer
num1 = CInt(TextBox1.Value)
num2 = CInt(TextBox2.Value)
suma = num1 + num2
TextBox3.Text = suma
End Sub

Private Sub CommandButton2_Click()


TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
End Sub

CMC (UMSA) Macros en Excel CMCH 10 / 14


Formulario para Dividir dos numeros:

Private Sub CommandButton1_Click()


Dim num1 As Integer
Dim num2 As Integer
Dim cociente As Single
num1 = Val(TextBox1)
num2 = Val(TextBox2)
If (num2 = 0) Then
MsgBox ("Indefinido")
Else
cociente = num1 / num2
End If
TextBox3 = cociente
End Sub

CMC (UMSA) Macros en Excel CMCH 11 / 14


Formulario para Dividir dos numeros:

Private Sub CommandButton2_Click()


TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
End Sub

Private Sub CommandButton3_Click()


Unload Me
End Sub

CMC (UMSA) Macros en Excel CMCH 12 / 14


Formulario para Dividir dos numeros:

Private Sub UserForm_Initialize()


Dim texto As String
texto = "Administración de Empresas" & Chr(13) & "Bienvenidos"
MsgBox (texto)
End Sub

Modulo:
Sub inform()
Load FormDivide
FormDivide.Show
End Sub

CMC (UMSA) Macros en Excel CMCH 13 / 14


Práctica de Laboratorio

Diseñar un formulario para realizar las 4 operaciones aritméticas


(suma, resta, multiplicación y división), también debe contar con un
botón para borrar los datos y otro botón para salir del formulario.
Diseñar un formulario para guardar en una hoja de Excel los siguientes
datos: Nombre, Apellidos y la Edad.

CMC (UMSA) Macros en Excel CMCH 14 / 14

También podría gustarte