Você está na página 1de 20

'PROPIEDADES DE TEXTO DENTRO DE LA CELDA

Sub FormatoCelda ()
Selection.HorizontalAlignment = xlCenter
Selection.Interior.Color = 255
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.ClearFormats
Range("D1").Select

With Selection
.HorizontalAlignment = xlCenter
End With

With Selection.Font
.Size = 14
.ThemeColor = xlThemeColorDark1
.Color = -16776961 'Color de fuente
.TintAndShade = 0 'sombra
End With

Columns("C:C").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("A:A").EntireColumn.AutoFit
Range("A2").Select
End Sub

'SELECCION DIRECTA
Sub Macro1()
Range("B4").Select 'Seleccionar la celda B4
Range("B4:B7").Select 'Seleccionar B4:B7
Range("B4", "B7").Select 'Seleccionar desde B4 hasta B7
Range("B4,B7").Select 'Seleccionar B4 y B7
Range("Pago1").Select 'Seleccionar Pago1
Range("Pago1", "Pago3").Select 'Seleccionar desee Pago1 hasta Pago3
Range("Pago1, Pago3").Select 'Seleccionar Pago1 y Pago3
Range("Feb", "May").Select 'Seleccionar Feb y May
Range("Cuadro").Select 'Seleccionar todo el Cuadro
Range("A3").CurrentRegion.Select 'Seleccionar todo el cuadro Ctrl+*
Range("C1") = Selection.Rows.Count 'Contar las filas del rango seleccionado
Range("D1") = Selection.Columns.Count 'Contar las columnas del rango seleccionado
End Sub

'SELECCION RELATIVA
Sub Macro2()
Range("B4").Range("A1:A4").Select 'A partir de B4 seleccionar 4 celdas hacia abajo
Range("B4").Range("B1:D1").Select 'Seleccionar 3 celdas a la derecha de B4
Range("Pago1").Range("B1:B4").Select 'Seleccionar la columna a la derecha del Pago1
Range("Pago1").Range("B1:C6").Select 'Seleccionar las 2 columnas a la derecha del Pago1
End Sub

'DESPLAZAR EL PUNTERO DE CELDA


Sub Macro3()
Range("A3").Select
ActiveCell.Offset(4, 0).Select 'Bajar 4 celdas ActiveCell.Offset
ActiveCell.Offset(1, 2).Select
ActiveCell.Offset(-3, 1).Select
ActiveCell.Offset(-1, -2).Select
End Sub

Sub Macro4()
'Uso de End(xl...) ultimo dato continuo
Range("B4").Select
ActiveCell.End(xlDown).Select 'Ctrl+flecha abajo para celdas continuas
ActiveCell.End(xlUp).Select 'Ctrl+flecha arriba para celdas continuas
ActiveCell.End(xlToRight).Select 'Ctrl+flecha derecho para celdas continuas
ActiveCell.End(xlToLeft).Select 'Ctrl+flecha izquierda para celdas continuas
End Sub
Sub Macro5()
'Seleccionar la celda al final de una lista
Range("Cuadro").Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End Sub
*****
Sub Macro6()
'Seleccionar la celda al final de una lista
N = Range("Cuadro").Rows.Count
Range("Cuadro").Select
ActiveCell.Offset(N, 0).Select
End Sub

Sub Macro6a()
'Seleccionar la celda al final de una lista
N = Range("Cuadro").Rows.Count
Range("A3").Select
ActiveCell.Offset(N, 0).Select
End Sub
*****

Sub Macro7()
'Seleccionar el 1er pago de Abril
Range("Cuadro").Select
ActiveCell.Offset(4, 1).Select
End Sub

Sub Macro7a()
'Seleccionar el 1er pago de Abril
Range("A3").Offset(4, 1).Select
End Sub

Sub Macro8()
'Seleccionar los 3 pagos del ultimo mes
Range("Cuadro").End(xlDown).Select
ActiveCell.Range("B1:D1").Select
End Sub

Sub Macro9()
'Seleccionar todos los pagos del ultimo mes (pagos consecutivos) <<<<<<
Range("Cuadro").End(xlDown).Select
Range(ActiveCell.Offset(0, 1), ActiveCell.End(xlToRight)).Select
End Sub

Sub Macro9a()
'Seleccionar solo los pagos del ultimo mes (no consecutivos) <<<<<<<
Range("Cuadro").End(xlDown).Select
ActiveCell.Range("B1:Z1").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
End Sub
'SELECCION DE COLUMNAS Y FILAS
Sub Uno()
Range("B:B").Select 'Seleccion toda la columna B
Range("B:D").Select 'Selecciona todas las columnas B, C y D
Range("B:B,D:D").Select 'Selecciona las columnas B y D
Range("B:B", "D:D").Select 'Selecciona las columnas desde la B hasta la D
Columns(2).Select
Range("5:5").Select 'Selecciona toda la fila 5
Range("5:5,8:10").Select 'Selecciona las filas 5 y 8 y 9 y 10
Rows(5).Select
Range("CUADRO").Rows(5).Select 'Selecciona la fila 5 del rango CUADRO
Range("CUADRO").Range("5:5,8:8").Select 'Selecciona las filas 5 y 8 del rango CUADRO
End Sub

Sub Once() Sub Trece()


'Selecciona toda la columna de la celda actual 'Selecciona toda la fila de la celda actual
ActiveCell.EntireColumn.Select ActiveCell.EntireRow.Select
End Sub End Sub

Sub Doce() Sub Catorce()


'Selecciona toda las columnas del rango seleccionado 'Selecciona toda las filas del rango seleccionado
Selection.EntireColumn.Select Selection.EntireRow.Select
End Sub End Sub

'SELECCIONES VARIADAS
Sub Num1() Sub Num3a()
'Ir debajo de la ultima fila de una lista 'Ir debajo de la ultima fila de una lista
Range("A3").Select N = Range("A3").CurrentRegion.Rows.Count
ActiveCell.End(xlDown).Select Range("A3").Offset(N, 0).Select
ActiveCell.Offset(1, 0).Select End Sub
End Sub

Sub Num2() Sub Num4() <<<<<<<


'Ir debajo de la ultima fila de una lista 'Ir a la ultima celda inferior derecha de la lista
Range("A3").End(xlDown).Offset(1, 0).Select <<<<<<< Range("A3").CurrentRegion.Select
End Sub ActiveCell.Offset(Selection.Rows.Count - 1, Selection.Columns.Count - 1).Select
End Sub
Sub Num3()
'Ir debajo de la ultima fila de una lista Sub Num5() <<<<<<<
N = Range("A3").CurrentRegion.Rows.Count 'Nombrar la región actual como CUADRO
Range("A3").Select Range("A3").CurrentRegion.Select
ActiveCell.Offset(N, 0).Select Selection.Name = "CUADRO"
End Sub End Sub

'MSGBOX
Sub Macro1() Sub Ubicacion()
MsgBox "Buenas tardes" 'Caja de mensaje Dim Lugar As String 'Variable lugar
End Sub Lugar = ActiveCell.Address 'Celda activa-ubicacion
MsgBox "La celda actual es " & Lugar
Sub Mensaje1() End Sub
Dim Nombre As String 'declarar la variable nombre
Nombre = "Jean Pierre "
MsgBox "Hola " & Nombre Sub Pregunta()
End Sub Dim Nombre As String
Nombre = InputBox("¿Cómo se llama usted?")
MsgBox "Su nombre es " & Nombre
End Sub
***PONER DATOS
Sub Macro2() <<<<<<< Sub Macro3() <<<<<<<
Range("A1") = "Cantidad" Range("A2") = 2
Range("B1") = "Descripcion" Range("B2") = "Maracuya"
Range("C1") = "Precio unitario" 'Escritura Range("C2") = 1.2
Range("D1") = "Sub total" Range("D2") = "=A2*C2" 'Range("D2").Formula="A2*C2"
End Sub End Sub

'MSGBOX II
Sub Mensaje()
Dim Nombre As String
Nombre = "José Samuel"
MsgBox "Hola " & Nombre, vbExclamation, "Cuadro de saludo"
MsgBox "buenas noches", , "CEPS UNI"
End Sub

Sub Mensaje4()
MsgBox "Datos insuficientes", vbCritical
End Sub

Sub Mensaje2()
'Esta macro muestra mensaje de saludo
Dim Nombre As String 'Declara la variable nombre
Nombre = "José Samuel"
MsgBox Prompt:="Hola " & Nombre, _
Title:="Cuadro de saludo", _
Buttons:=vbExclamation
End Sub

Sub Mensaje3() <<<<<<<


Dim rpta As Integer
rpta = MsgBox("¿Quieres seguir?", vbYesNo + vbQuestion)
If rpta = vbYes Then
MsgBox "Escogiste SI"
Else
MsgBox "Escogiste NO"
End If
End Sub

***INDICA EL TIPO DE PERSONA SEGUN SU EDAD


Sub TipoPersona()
edad = Val(InputBox("Ingrese su edad"))
If edad = Empty Then Exit Sub
If edad < 18 Then MsgBox ("Ud. es menor de Edad")
If edad >= 18 Then MsgBox ("Ud. es mayor de edad")
End Sub

Sub TipoPersona2()
edad = Val(InputBox("Ingrese su edad"))
If edad = Empty Then
Exit Sub
ElseIf edad < 18 Then
MsgBox ("Ud. es menor de Edad")
Else
MsgBox ("Ud. es mayor de edad")
End If
End Sub
Sub Mensaje7()
Dim rpta As Integer
rpta = MsgBox("Ha habido un problema" & vbCrLf & _
"¿desea reintentar?", _
vbAbortRetryIgnore + vbQuestion, _
"CEPS UNI")
Select Case rpta
Case vbAbort: MsgBox "Respondió ANULAR"
Case vbRetry: MsgBox "Respondió REINTENTAR"
Case vbIgnore: MsgBox "Respondió OMITIR"
Case Else: MsgBox "No respondió NADA"
End Select
End Sub

Sub Mensaje6()
Dim rpta As Integer
rpta = MsgBox("Desea continuar?", vbYesNo + vbQuestion)
If rpta = vbYes Then
MsgBox "Continuaremos en el sistema"
Else
MsgBox "El sistema ha sido cerrado"
End If
End Sub

Sub Mensaje7() <<<<<<<


Dim rpta As Integer
Otravez: ''<-
Range("A2").Select 'Estar en la celda A2
ActiveCell = InputBox("Ingrese cantidad")
If Not IsNumeric(ActiveCell) Then 'Si cumple la condición (el valor no es numerico) sigue con la siguiente linea
rpta = MsgBox("La cantidad ingresada es incorrecta", vbRetryCancel + vbCritical, "CepsUNI")
If rpta = vbRetry Then 'vbRetryCancel da la opcion de reintentar y cancelar
GoTo Otravez ''->
Else
Range("A2") = ""
End If
End If
End Sub

Sub Mensaje8() <<<<<<<


Dim rpta As Integer
OtroPU:
Range("C2").Select
ActiveCell = InputBox("Ingrese P.U.")
If Val(ActiveCell) <= 0 Then Si el numero es negativo saldrá el MsgBox
rpta = MsgBox("P.U. incorrecto", vbExclamation + vbAbortRetryIgnore + vbDefaultButton2, "CEPS UNI")
' +vbDefaultButton2 para que el boton pronto a selecionar por defecto sea la segunda opcion
Select Case rpta 'Dos puntos: para 2 funciones en una linea
Case vbAbort: Range("C2") = ""
Case vbRetry: GoTo OtroPU
Case vbIgnore: Range("C2") = 0
End Select
End If
End Sub

***Operacion de copy paste


Sub Macro11()
' Macro11 Macro
Range("A9:D9").Select
Selection.Copy
Range("A10:D10").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("F10").Select
End Sub

***Operacion de copy paste (vertical-Horizontal y viceversa)


Sub Macro12()
' Macro12 Macro
Range("G3:G6").Select
Selection.Copy
Range("A11").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
Range("F10").Select
End Sub

Dim mes As String


Dim pago1 As Integer
Dim pago2 As Integer
Dim pago3 As Integer

***PRIMERA FORMA
Sub AgregaMes1()
'Asignación de variables
mes = Range("G3")
pago1 = Range("G4")
pago2 = Range("G5")
pago3 = Range("G6")
'Seleccionar la celda al final de una lista
N = Range("A3").CurrentRegion.Rows.Count
Range("A3").Select
ActiveCell.Offset(N, 0).Select
'Escribiendo los valores
ActiveCell = mes
ActiveCell.Offset(0, 1) = pago1
ActiveCell.Offset(0, 2) = pago2
ActiveCell.Offset(0, 3) = pago3
'FORMATO
'Indentado en la celda activa(la nueva celda del mes)
Selection.InsertIndent 1
'Centrando los 3 pagos
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 3)).Select
Selection.HorizontalAlignment = xlCenter
'Poniendo los bordes
'La celda actual es la selecion de los 3 pagos del mes agregado
ActiveCell.Offset(0, -1).Select 'Retroceedemos uno, A10
Range(ActiveCell, ActiveCell.Offset(0, 3)).Select

'Darle el borde a los casilleros


With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
Darle borde a los casilleros
.Borders(xlEdgeBottom).Weight = xlThin seleccionados
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin 'El borde vertical interior del conjunto
.Borders(xlInsideHorizontal).Weight = xlThin
'Selection.Borders.Weight = xlThin reemplaza todo lo anterior
End With
'Limpiar celdas
Range("G3:G6").ClearContents
Range("G3").Select
End Sub

***SEGUNDA FORMA
Sub AgregaMes2()
'Asignación de variables
mes = Range("G3")
pago1 = Range("G4")
pago2 = Range("G5")
pago3 = Range("G6")
'Seleccionar la celda al final de una lista
N = Range("A3").CurrentRegion.Rows.Count
Range("A3").Select
ActiveCell.Offset(N, 0).Select
'Escribiendo los valores
ActiveCell = mes
ActiveCell.Offset(0, 1) = pago1
ActiveCell.Offset(0, 2) = pago2
ActiveCell.Offset(0, 3) = pago3
'FORMATO copiar 'aplicas offset teniendo activa otra celda
Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, 3)).Copy Copiar formato
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'Limpiar celdas
Range("G3:G6").ClearContents

Range("G3").Select
End Sub

***TERCERA FORMA
Sub AgregaMes3()
'Asignación de variables
Range("G3:G6").Copy
'Seleccionar la celda al final de una lista
N = Range("A3").CurrentRegion.Rows.Count
Range("A3").Select
ActiveCell.Offset(N, 0).Select
'Pegando valores y formatos
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=True ' Pasar los valores de vertical a horizontal


Application.CutCopyMode = False 'Las hormiguitas del copiado desaparezcan
'La cuarta forma de pegar
'Limpiar celdas
Range("G3:G6").ClearContents
Range("G3").Select
End Sub

Sub Macro200()
Range("B4", Range("C4").End(xlDown)).Select
End Sub De la celda B4 y C4 'Comienza a seleccionar hacia abajo hasta una casilla en blanco

Sub Macro201()
Call Macro6b 'Llamar a la Macro6b
mes = InputBox("Ingrese mes")
ActiveCell = mes
End Sub
***Operaciones
Sub Macro1() Sub Macro2()
Range("A1") = "CUENTAS" Range("A1").Select
Range("A3") = "SERVICIOS" ActiveCell = "CUENTAS"
Range("B3") = "PAGOS" ActiveCell.Offset(2, 0) = "SERVICIOS"
Range("B4") = 120 ActiveCell.Offset(2, 1) = "PAGOS"
End Sub ActiveCell.Offset(3, 1) = 120
End Sub

Sub Macro3()
Range("Pagos") = 120 'Todos las celdas del rango tienen 120
Range("B9") = Range("B4") * 2
Range("B10").Formula = "=SUM(Pagos)" 'Formula para escribir numros fehcas formulas : otras
Range("B10").Font.Bold = True
Range("C3") = Date 'FECHA
End Sub

Sub Macro11()
Range("A3").Select
ActiveCell.FormulaR1C1 = "CLIENTE" 'RC Row column
Range("B3").Select
ActiveCell.FormulaR1C1 = "PAGOS"
Range("A3:B3").Select
Selection.Font.Bold = True
End Sub

Sub Macro12()
Range("A3") = "CLIENTE"
Range("B3") = "PAGOS"
Range("A3:B3").Font.Bold = True
End Sub

Sub Macro20()
Range("C5").Formula = "=SUM(B4:B8)" 'Colocar las celdas exactas
End Sub

Sub Macro21() 'Colocar las celdas relativas


Range("C6").FormulaR1C1 = "=SUM(R[-2]C[-1]:R[2]C[-1])"
End Sub

Sub Macro22()
Range("G4").Formula = "=E4*F4"
Range("G5").Formula = "=E5*F5"
Range("G6").Formula = "=E6*F6"
Range("G7").Formula = "=E7*F7"
End Sub

Sub Macro23()
Range("G4").FormulaR1C1 = "=RC[-2]*RC[-1]" 'Cuando no varia la columna o l fila puede prescindir del numero
Range("G5").FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("G6").FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("G7").FormulaR1C1 = "=RC[-2]*RC[-1]"
End Sub

'BuscarV
Sub MacroPonePU()
Range("G13").FormulaR1C1 = "=VLOOKUP(RC[-1],articulos,2,FALSE)"
Range("G14").FormulaR1C1 = "=VLOOKUP(RC[-1],articulos,2,FALSE)"
Range("G15").FormulaR1C1 = "=VLOOKUP(RC[-1],articulos,2,FALSE)"
End Sub
***Calculadora
Sub CalculaDolares()
Monto = Range("B3")
Tcambio = Range("B4")
Range("B5") = Monto / Tcambio
End Sub

Sub CalculaSoles()
Monto = Range("B5")
Tcambio = Range("B4")
Range("B3") = Monto * Tcambio
End Sub

Sub Borrar()
Range("B3:B5").ClearContents
Range("B3").Select
End Sub

***CALCULADORA CONVERTIDORA
Sub Convertir()
'Validacion
'1.Debe haber tipo de cambio, no debe estar vacio
If Range("B10") = Empty Then
MsgBox "El tipo de cambio no debe estar en blanco", vbCritical
Range("B10").Select
Exit Sub
'2. Debe ser numero
ElseIf Not IsNumeric(Range("B10")) Then
MsgBox "El tipo de cambio debe ser un numero", vbCritical
Range("B10").Select
Exit Sub
'3. Debe ser positivo
ElseIf Range("B10") < 0 Then
MsgBox "El tipo de cambio debe ser positivo", vbCritical
Range("B10").Select
Exit Sub
End If
'Punto de interrupcion F5 para compilarlo hasta ese punto
'Calculo
If Val(Range("B9")) > 0 And IsNumeric(Range("B9")) Then
'Val lo dejara pasar cuando cumpla con la condicion
Range("B11") = Range("B9") / Range("B10")
ElseIf Val(Range("B11")) > 0 And IsNumeric(Range("B11")) Then
Range("B9") = Range("B11") * Range("B10")
Else
MsgBox "Soles y dolares mal escritos", vbCritical
End If
End Sub
***Ahorro
Sub Ahorro()
Range("Fecha") = Date
'Solicita datos
Range("Deposito") = InputBox("Ingrese depósito")
Range("Retiro") = InputBox("Ingrese retiro")
Range("Anterior") = Range("Actual")
'Calcula el saldo actual
Range("Actual") = Range("Anterior") + Range("Deposito") - Range("Retiro")
'Ubica el puntero al final del registro de movimientos
Range("A9").End(xlDown).Offset(1, 0).Select
'Registra los datos
ActiveCell = Date
ActiveCell.Offset(0, 1) = Range("Deposito")
ActiveCell.Offset(0, 2) = Range("Retiro")
ActiveCell.Offset(0, 3) = Range("Actual")
MsgBox ("Su saldo actual es de " & Range("Actual") & " soles")
End Sub

REPETICIONES
/ POSICIONA EL PUNTERO DEBAJO DEL TITULO EDAD /
Sub PrimeraEdad()
Range("A3").Select
ActiveCell.CurrentRegion.Columns(4).Select
ActiveCell.Offset(1, 0).Select
End Sub

While – Wend
Sub PrimeraEdad2()
Range("A3").Select
'Si no se cumple ejecuta while hasta que si se cumple ejecuta wend
While ActiveCell <> "Edad"
ActiveCell.Offset(0, 1).Select
Wend
ActiveCell.Offset(1, 0).Select
End Sub

/ POSICIONA EL PUNTERO EN LA PRIMERA COLUMNA AL FINAL DE LA LISTA /

Sub Nuevo()
Range("A3").End(xlDown).Offset(1, 0).Select
End Sub

Sub Nuevo2()
Range("A3").Select
ActiveCell.CurrentRegion.Select
ActiveCell.Offset(Selection.Rows.Count, 0).Select
End Sub
Do – While
Sub Nuevo3()
Range("A3").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
End Sub

***CUENTA LA CANTIDAD DE ALUMNOS INSCRITOS


Sub ContarInscritos()
Range("A4").Select
n = 0 'contador
While ActiveCell <> Empty
n=n+1
ActiveCell.Offset(1, 0).Select
Wend
MsgBox ("Hay " & n & " alumnos inscritos")
End Sub

***CUENTA LA CANTIDAD DE MUJERES Y HOMBRES INSCRITOS


Sub ContarPorSexo()
Dim H As Integer, M As Integer
Range("A4").Select
H=0
M=0
While ActiveCell <> Empty
If ActiveCell.Offset(0, 2) = "M" Then H = H + 1
If ActiveCell.Offset(0, 2) = "F" Then M = M + 1
ActiveCell.Offset(1, 0).Select
Wend
MsgBox ("Hay " & M & " Mujeres y " & H & " Hombres inscritos")
End Sub

***CUENTA LA CANTIDAD DE MUJERES Y HOMBRES INSCRITOS


Sub ContarPorSexo2()
Range("A3").Select
ActiveCell.CurrentRegion.Columns(3).Select
'ContarSi
H = Application.WorksheetFunction.CountIf(Selection, "M")
M = Application.WorksheetFunction.CountIf(Selection, "F")
Range("A3").Select
MsgBox ("Hay " & M & " Mujeres y " & H & " Hombres inscritos")
End Sub
ACTIVEWORKBOOK.NAMES.ADD
Sub Macro1() 'Darle nombre a la lo seleccionado Sub Macro8()
ActiveWorkbook.Names.Add Name:="abc", RefersTo:=Selection ActiveCell.Columns("A:C").EntireColumn.Select
End Sub End Sub

Sub Macro9()
Sub Macro2() 'Darle nombre al conjunto de celdas de una region activa ActiveCell.Columns(3).EntireColumn.Select
'El caracter _ siempre va después de un espacio en blanco End Sub
ActiveWorkbook.Names.Add _
Name:="abc", RefersTo:=ActiveCell.CurrentRegion
End Sub Sub Macro10()
Range("abc").Select
Selection.EntireColumn.Select
Sub Macro3() End Sub
Range("abc").Columns(2).Select
ActiveCell.CurrentRegion.Columns(2).Select
End Sub Sub Macro11()
Range("abc, xyz").Select
Selection.EntireColumn.Select
Sub Macro5() End Sub
ActiveCell.EntireColumn.Select
ActiveCell.EntireColumn.Insert
End Sub Sub Macro12()
ActiveCell.CurrentRegion.Columns(ActiveCell.Column - _
ActiveCell.CurrentRegion.Column + 1).Select
Sub Macro7() 'Todas las columnas de la region End Sub
ActiveCell.CurrentRegion.EntireColumn.Select
End Sub
Sub Macro13()
Range("C5:D7").ClearContents
End Sub

PAGO MENSUAL
Sub PagoMensual()
Interes = Val(InputBox("Ingrese el Interés:"))
periodos = Val(InputBox("Ingrese los periodos:"))
prestamo = Val(InputBox("Ingrese el préstamo:"))
pago = Application.WorksheetFunction.Pmt(Interes / 1200, periodos, -prestamo)
MsgBox ("El pago mensual es de: " & Format(pago, "Currency"))
End Sub
'INSCRIBE A UNA PERSONA AL FINAL DE LA LISTA

Sub Inscripcion()
Nombre = InputBox("Ingrese el Nombre de la persona:")
Range("A3").End(xlDown).Offset(1, 0).Select
ActiveCell = Nombre
End Sub

'REGISTRA LA ENTREGA DE CARNET A LOS ALUMNOS


Sub Entrega()
Range("A3").Select
Nombre = InputBox("Ingrese el Nombre de la persona:")
If Nombre = Empty Then Exit Sub
While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
If UCase(ActiveCell) = UCase(Nombre) Then
If ActiveCell.Offset(0, 1) = "Entregado" Then
MsgBox ("A " & Nombre & " ya se le ha entregado su Carnet")
Exit Sub
End If
ActiveCell.Offset(0, 1) = "Entregado"
Exit Sub
End If
Wend
MsgBox (Nombre & " no existe en esta lista")
End Sub

Sub Entrega2()
Range("A3").Select
Nombre = InputBox("Ingrese el Nombre de la persona:")
If Nombre = "" Then Exit Sub
While ActiveCell <> Nombre
ActiveCell.Offset(1, 0).Select
If ActiveCell = Empty Then
MsgBox (Nombre & " no existe en esta lista")
Exit Sub
End If
Wend
ActiveCell.Offset(0, 1) = "Entregado"
End Sub

'IDENTIFICA EL TIPO DE PERSONA PARA CADA ALUMNO


Sub Persona()
Range("A4").Select
While ActiveCell <> Empty
edad = ActiveCell.Offset(0, 3)
Select Case edad
Case Is >= 18
ActiveCell.Offset(0, 4) = "Adulto"
Case 13, 14, 15, 16, 17
ActiveCell.Offset(0, 4) = "Adolescente"
Case 1 To 12
If ActiveCell.Offset(0, 2) = "M" Then
ActiveCell.Offset(0, 4) = "Niño"
Else
ActiveCell.Offset(0, 4) = "Niña"
End If
End Select
ActiveCell.Offset(1, 0).Select
Wend
End Sub

'CALCULA LA DEUDA DE CADA ALUMNO

Sub CalculaDeuda()
Range("A3").CurrentRegion.Select
Alumnos = Selection.Rows.Count - 1
Range("G4").Select
For n = 1 To Alumnos
ActiveCell = 250 - ActiveCell.Offset(0, -1)
ActiveCell.Offset(1, 0).Select
Next
End Sub

'CUENTA LA CANTIDAD DE MUJERES Y HOMBRES INSCRITOS


Sub ContarPorSexo5()
M=0
F=0
'Averiguando cantidad de filas
Dim Alumnos As Integer, n As Integer
Alumnos = Range("A3").CurrentRegion.Rows.Count - 1
'Recorriendo las filas
For n = 4 To 4 + Alumnos - 1
If Range("C" & n) = "M" Then M = M + 1
If Range("C" & n) = "F" Then F = F + 1
Next
MsgBox ("Hay " & F & " Mujeres y " & M & " Hombres inscritos")
End Sub

Sub ContarPorSexo4()
Range("A3").CurrentRegion.Select
Alumnos = Selection.Rows.Count - 1
Range("C4").Select
H=0
M=0
For n = 1 To Alumnos
If ActiveCell = "M" Then H = H + 1
If ActiveCell = "F" Then M = M + 1
ActiveCell.Offset(1, 0).Select
Next
MsgBox ("Hay " & M & " Mujeres y " & H & " Hombres inscritos")
End Sub

'CUENTA LA CANTIDAD DE MUJERES Y HOMBRES INSCRITOS

Sub ContarPorSexo3()
Range("A3").CurrentRegion.Columns("C").Select
H=0
M=0
For Each Celda In Selection
If Celda = "M" Then H = H + 1
If Celda = "F" Then M = M + 1
Next
MsgBox ("Hay " & M & " Mujeres y " & H & " Hombres inscritos")
End Sub

'BORRA LOS PAGOS QUE SON CERO


Sub BorraCeros()
Range("A3").CurrentRegion.Columns("F:G").Select
n=0
For Each Celda In Selection
If Celda = 0 Then Celda.ClearContents: n = n + 1
Next
MsgBox "habian " & n & " ceros"
End Sub
'OCULTA TODAS LAS HOJAS MENOS LA ACTIVA
Sub OcultarHojas()
n=1
For Each H In Worksheets
If ActiveSheet.Name <> H.Name Then H.Visible = False
n=n+1
Next
End Sub

'MUESTRA TODAS LAS HOJAS


Sub MostrarHojas()
n=1
For Each H In Worksheets
If ActiveSheet.Name <> H.Name Then H.Visible = True
n=n+1
Next
End Sub

'CREA 2 HOJAS MUJERES Y HOMBRES Y COPIA A LOS ALUMNOS EN ELLAS


Sub SeparaAlumnos()
Application.DisplayAlerts = False
For Each H In Worksheets
If H.Name = "Hombres" Then Sheets("Hombres").Delete
Next
For Each H In Worksheets
If H.Name = "Mujeres" Then Sheets("Mujeres").Delete
Next
Range("A3").Select
Selection.AutoFilter Field:=3, Criteria1:="M"
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = "Hombres"
Range("A3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Select
Sheets("Hoja1").Select
Range("A3").Select
Selection.AutoFilter Field:=3, Criteria1:="F"
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = "Mujeres"
Range("A3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Select
Sheets("Hoja1").Select
Range("A3").Select
Selection.AutoFilter
End Sub
Sub Grupos()
'
' Macro4 Macro
'
Dim filas As Integer

ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.CurrentRegion.Select

filas = Selection.CurrentRegion.Rows.Count

ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=ActiveCell.Offset _
(0, 1).Range("A1:A" & filas), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange ActiveCell.Range("A1:B" & filas)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Font.Bold = True
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
ActiveCell.Offset(filas + 6, -1).Range("A1").Select
End Sub

Sub SALIR()
Dim R As Integer
R = MsgBox("Salir de Excel", vbYesNo + vbQuestion, "SISTEMA")
If R = 6 Then Application.Quit
'Sub, nombre de la Macros'
'Dim, es declaración'
'Integer, Valores enteros'
'If = SI'
'Then = Entonces'
'El MSGBOX es cuadro de mensaje, en la pregunta SI o NO... SI=6(VbYes) y NO=7(VbNo) valores estandar'

End Sub

Sub Onombre()
'
' Onombre Macro
'
Range("A1").Select
Selection.CurrentRegion.Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Add Key:=Range( _
"B2:B101"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ORDENACIONES").Sort
.SetRange Range("A1:K101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B1").Select
End Sub
Sub Oregion()
'
' Oregion Macro
'
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Add Key:=Range( _
"C2:C101"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ORDENACIONES").Sort
.SetRange Range("A1:K101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C1").Select
End Sub
Sub Ocurso()
'
' Ocurso Macro
'
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Add Key:=Range( _
"D2:D101"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ORDENACIONES").Sort
.SetRange Range("A1:K101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D1").Select
End Sub
Sub Odescuento()
'
' Odescuento Macro
'

'
Range("G1").Select
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Add Key:=Range( _
"G2:G101"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ORDENACIONES").Sort
.SetRange Range("A1:K101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("G1").Select
End Sub
Sub Oneto()
'
' Oneto Macro
'

'
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ORDENACIONES").Sort.SortFields.Add Key:=Range( _
"H2:H101"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ORDENACIONES").Sort
.SetRange Range("A1:K101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("J1").Select
End Sub
Sub FILTRAR()
'
' FILTRAR Macro
'

'
Range("B12").Select
Selection.CurrentRegion.Select
Range("A9:K109").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D2:G3"), Unique:=False
Range("A9").Select
End Sub
Sub RESETEO()
'
' RESETEO Macro
'

'
ActiveSheet.ShowAllData
Range("A9").Select
End Sub

Sub Grupo()
' Grupo Macro
' Acceso directo: CTRL+k
Dim x As Integer ''variable x que guardara numeros enteros

'Seleciona fila entera


ActiveCell.Rows("1:1").EntireRow.Select

'Inserta una fila


Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

'Sube una celda


ActiveCell.Offset(-1, 0).Range("A1").Select

'Seleciona region (rectangulo)


Selection.CurrentRegion.Select
x = Selection.Rows.Count ''contar cuantas filas habiles hay en una semana

'Ordena de mayor a menor


ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=ActiveCell.Offset _
(0, 1).Range("A1:A" & x), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal '&x concatenar x como una variable
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange ActiveCell.Range("A1:B" & x) 'ERROR la primera semana solo abarca 3 dias
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

'Selecciona la celda de la derecha (numero mayor)


ActiveCell.Offset(0, 1).Range("A1").Select

Selection.Font.Bold = True 'negrita

With Selection.Font
.Color = -16776961 'Color de fuente
.TintAndShade = 0 'sombra
End With

'Baja 9 filas y retrocede 1 columna


ActiveCell.Offset(6 + x, 0).Range("A1").Select
End Sub 'Bajas 5dias un espacio en blanco y los diasx

Você também pode gostar