0% encontró este documento útil (0 votos)
53 vistas

Macros

Este documento proporciona instrucciones para crear macros, módulos y formularios en VBA para automatizar tareas en Excel como sumar filas, cambiar colores condicionalmente, insertar registros con botones y bucles para iterar sobre celdas. Explica cómo grabar macros, ejecutarlas con botones de formulario, y usar funciones como IF, DO y SELECT CASE para aplicar lógica condicional.

Cargado por

diego ojeda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas

Macros

Este documento proporciona instrucciones para crear macros, módulos y formularios en VBA para automatizar tareas en Excel como sumar filas, cambiar colores condicionalmente, insertar registros con botones y bucles para iterar sobre celdas. Explica cómo grabar macros, ejecutarlas con botones de formulario, y usar funciones como IF, DO y SELECT CASE para aplicar lógica condicional.

Cargado por

diego ojeda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

MACROS

archivo->opciones ->personalizar sinta de opciaones ->programador


porgramdor->codigo->grabar macro->nombre de lamacro sin espacios->ctrl y se coloca
una letra->se inicia y se detiene
_____________________________________________________________________
programador->controles->insertar->controles de formularios->la 1r boton->se
selcciona la macro creada anteriormente-> se ejecuta en el archivo borrador
____________________________________________________________________
alf + f11 ver explorador de proyecto
modulo->insertar->modulo->procedimineto->vendedor1
Public Sub Vendedor()
Dim Vendedor As String -> se da la variable alfanumerica
Vendedor = "Miguel" -> el resultado de la variable
ActiveCell.Value = Vendedor -> active el valor de la celda
End Sub
f8->verifica paso a paso del codigo
_______________________________________________________________________
ESTE CODIGO ES PARA SUMAR TODA UNA FILA Y EL TOTAL EN G2
Public Sub suma()
Range("g2").Value = Range("c2").Value + Range("d2").Value + Range("e2").Value +
Range("f2").Value
End Sub
______________________________________________________________________
codigo para cambiar colores se crea un procedimiento funcioif condiciones: ELSE->
si no tal cosa....

Public Sub FuncionIF()


If Range("g2") > "5000" Then
Range("g2").Interior.Color = vbBlue
Else: Range("g4").Interior.Color = vbBlack
End If
If Range("g2") < "5000" Then
Range("g3").Interior.Color = vbRed
End If
End Sub
_______________________________________________________________________
codigo para mensajes de advertencia
If Range("g2") > "50000" Then
Else: MsgBox "debes incluir un valor superior a 50000", vbOKCancel +
vbInformation
, vdcritical
End If
_______________________________________________________________________
funcion DO y while
DO-> realiza un ciclo de condiciones hasta que se cumpla la condicion
byte->0-255
integer > 255
long -> 2.000 millones
fila = fila + 1-> hasta cuando hay datos
Do while Cells(fila, "a") <> ""

Public Sub FUNCIONDO()


Dim fila As Byte
fila = 3
Do Until Cells(fila, "a") = ""
Select Case Cells(fila, "d")
Case Is < 60000: Cells(fila, "E") = "No comision"
Case Is < 70000: Cells(fila, "E") = "comision 60%"
Case Is < 80000: Cells(fila, "E") = "comision 70%"
Case Else: Cells(fila, "e") = "comision total"
End Select
fila = fila + 1
Loop
End Sub
______________________________________________________________________
FORMULARIOS:
insertar-> userform -> ver->ventana de propiedades
name-> empleados
caption-> empleados o nombre empleados o proceso
autosice-para ajustar el boton al nombre
click derecho ajustar derecha para alinear
inseratar cuadro de texto y botones de comando dandole doble click accede a
programarlo:
Private Sub CommandButton1_Click()
ActiveSheet.Cells(2, 1).Select
Selection.EntireRow.Insert
ActiveSheet.Cells(2, 1) = TextBox1
ActiveSheet.Cells(2, 2) = TextBox2
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
End Sub

para editar el segundo boton finalizar doble clic en el segundo boton


->en la mitad de private y sub-> end
-> insertar modulo -> insertar procedimiento-> se le da un nombre
Public Sub Formulario()
Load empleados
Empleados.Show
End Sub
se selcciona una imagen y se asigna la macro
___________________________________________________________________________________
___________________
editar una hoja de calculo sin el modulo
1. VBA-> hoja1 pasoportemasivos dar doble click -> despleagr genelar->worksheet->
change -se elimina lo de abajo
se digita el siguinete codigo:

and: para dos condiciones y se deben cumplir


or : una de las dos se debe cumplir
___________________________________________________________________________________
_____________________
esta parte del codigo obliga a que se digite bien la fecha:
___________________________________________________________________________________
_____________________
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Row > 1 Then
If IsDate(Target) = True Then
Else: MsgBox "debes incluir un fecha para poder continuar", vbInformation
___________________________________________________________________________________
_________________
evita el bucle infinito:
___________________________________________________________________________________
____________
application.enableevents = False
target.value = ""
application.enableevents = tru
target.select
end if
___________________________________________________________________________________
_________________
esta parte del codigo evita el bucle infinito y obliga a que se digite valores
numericos:
___________________________________________________________________________________
_________________
ElseIf Target.Column = 6 And Target.Row > 1 Then
If IsNumeric(Target) = True And Target > 0 Then
Else: MsgBox "debes incluir un numero y que sea mayor que cero parapoder
hacer la aopercion", vbCritical
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End If
End If
___________________________________________________________________________________
_________________
if target >=100 then
target.offset (0, 1).value = range("b4")
target.offset (0, 2).value = range("b4") * target
elseif target >=11 then
target.offset (0, 1).value = range("b3")
target.offset (0, 2).value = range("b3") * target
else target.offset (0, 1).value = Range("b2")
target.offset (0, 2).value = range("b2")*target
end if

Else msjbox"debes incluir un numero y que sea mayor que cero parapoder hacer la
aopercion", vbcritical
application.enableevents = False
target.value = ""
application.enableevents = tru
target.select
end if

También podría gustarte