Está en la página 1de 2

Sub simulacion()

Dim Fc, Dia, Inf, Acum As Single 'Defino las


variables
Fc = InputBox("Ingrese la tasa de infección") 'Definimos una
caja de entrada, y guarda el valor en Fc
Range("C3").Value = Fc 'Envía el
valor ingresado en C3
Range("A6").Select 'Va a la celda
A6
ActiveCell.Value = 1 'Comienza el
conteo de los días
ActiveCell.Offset(0, 1).Value = 1 'Asigna el
primer infectado
Inf = 1
'Define el primer infectado el día 1
ActiveCell.Offset(0, 2).Value = 1 'Asigna 1
(primer acumulado)
Acum = 1
'Inicializa el valor acumulado a 1
ActiveCell.Offset(1, 0).Select 'Baja
una celda
Dia = 1
'Designa el primer día
Do 'Abre
el lazo
Dia = Dia + 1
'Define el día N° día anterior + 1
ActiveCell.Value = Dia
'Coloca el valor del día en la nueva celda
Inf = Inf * Fc 'Hace
que el nuevo número de infectados sea el número anterior por el factor
de contagio
Acum = Acum + Inf
'Incrementa los acumulados a el valor enterior mas los nuevos
infectados
If Inf >= 1000000 Then
'Revisa: Si hay más de un millón de acumulados...
ActiveCell.Offset(0, 1).Font.ColorIndex = 3 'Cambia las
letras a rojo
ActiveCell.Offset(0, 1).Font.Bold = True 'Las pone en
negritas
ActiveCell.Offset(0, 1).Font.Italic = True ' Y en cursivas
End If
'Termina la ejecución si el acumulado es mayor a un millón
ActiveCell.Offset(0, 1).Value = Inf 'En la celda
una columna a la derecha escibe el valor de infectados
ActiveCell.Offset(0, 2).Value = Acum 'En la celda
dos columnas a la derecha escribe el valor de acumulados
ActiveCell.Offset(1, 0).Select 'Baja
a la fila siguiente
Loop Until Acum >= 1000000 'Repite hasta
que los acumulados sean un millón
A = MsgBox("Se supera el millón de infectados el dia " & Dia,
vbExclamation, "SUPERADO EL MILLÓN") 'Muestra una caja de texto

End Sub
'Termina la sub

También podría gustarte