Está en la página 1de 29

Simulación

de Sistemas
Cuaderno Digital (Parte 1)

Eddy Daniel Bastidas Macias


Contenido
No se encontraron entradas de tabla de contenido.
Tipos de Muestreos
En ocasiones en que no es posible o conveniente realizar un censo (analizar a todos los
elementos de una población), se selecciona una muestra, entendiendo por tal una parte
representativa de la población.

El muestreo es por lo tanto una herramienta de la investigación científica, cuya función básica
es determinar que parte de una población debe examinarse, con la finalidad de hacer
inferencias sobre dicha población.

La muestra debe lograr una representación adecuada de la población, en la que se reproduzca


de la mejor manera los rasgos esenciales de dicha población que son importantes para la
investigación.

Para que una muestra sea representativa, y por lo tanto útil, debe de reflejar las similitudes y
diferencias encontradas en la población, es decir ejemplificar las características de ésta.

Los errores más comunes que se pueden cometer son:

1.- Hacer conclusiones muy generales a partir de la observación de sólo una parte de la
Población, se denomina error de muestreo.

2.- Hacer conclusiones hacia una Población mucho más grandes de la que originalmente se
tomó la muestra. Error de Inferencia.

En la estadística se usa la palabra población para referirse no sólo a personas si no a todos los
elementos que han sido escogidos para su estudio y el término muestra se usa para describir
una porción escogida de la población.

Existen diferentes criterios de clasificación de los diferentes tipos de muestreo, aunque en


general pueden dividirse en dos grandes grupos: métodos de muestreo probabilísticos y
métodos de muestreo no probabilísticos

Muestre Probabilístico
Los métodos de muestreo probabilísticos son aquellos que se basan en el principio de
equiprobabilidad. Es decir, aquellos en los que todos los individuos tienen la misma
probabilidad de ser elegidos para formar parte de una muestra y, consiguientemente, todas las
posibles muestras de tamaño n tienen la misma probabilidad de ser seleccionadas. Sólo estos
métodos de muestreo probabilísticos nos aseguran la representatividad de la muestra extraída
y son, por tanto, los más recomendables.

Muestreo No Probabilístico
A veces, para estudios exploratorios, el muestreo probabilístico resulta excesivamente costoso
y se acude a métodos no probabilísticos, aun siendo conscientes de que no sirven para realizar
generalizaciones (estimaciones inferenciales sobre la población), pues no se tiene certeza de
que la muestra extraída sea representativa, ya que no todos los sujetos de la población tienen
la misma probabilidad de ser elegidos. En general se seleccionan a los sujetos siguiendo
determinados criterios procurando, en la medida de lo posible, que la muestra sea
representativa.
En algunas circunstancias los métodos estadísticos y epidemiológicos permiten resolver los
problemas de representatividad aun en situaciones de muestreo no probabilístico, por
ejemplo, los estudios de caso-control, donde los casos no son seleccionados aleatoriamente de
la población.

Muestreo Aleatorio Simple


Este método de muestreo proporciona un punto de partida para una exposición de los
métodos de muestreo probabilístico no porque sea uno de los métodos de muestreo más
utilizados sino porque constituyen la base de métodos de muestreo más complejos.
Dependiendo si el muestreo es con reposición o sin reposición, podemos hablar de muestreo
aleatorio simple con reposición o sin reposición respectivamente. De manera formal, este
diseño básico o técnica de muestreo se define de la siguiente manera

Definición 1.1 Si se selecciona un tamaño de muestra n de una población de tamaño N de tal


manera que cada muestra posible de tamaño n tenga la misma probabilidad de ser
seleccionada, el procedimiento de muestreo se denomina muestreo aleatorio simple. A la
muestra así obtenida se le denomina muestra aleatoria simple.

Considerando muestreo aleatorio sin reposición, se obtiene la muestra unidad a unidad de


forma aleatoria sin reposición a la población de las unidades previamente seleccionadas,
teniendo presente además que el orden de colocación de los elementos en las muestras no
interviene, es decir, muestras con los mismos elementos colocados en orden distinto se
consideran iguales. De esta forma, las muestras con elementos repetidos son imposibles. Bajo
muestreo aleatorio con reposición, las unidades seleccionadas son devueltas de nuevo a la
población.

Las ventajas que tiene este procedimiento de muestreo son las siguientes:

1. Sencillo y de fácil comprensión.


2. Cálculo rápido de medias y varianzas.
3. Existen paquetes informáticos para analizar los datos

Por otra parte, las desventajas de este procedimiento de muestreo son:

1. Requiere que se posea de antemano un listado completo de toda la población.


2. Si trabajamos con muestras pequeñas, es posible que no representen a la población
adecuadamente.

A continuación, pasamos a describir este procedimiento de muestreo considerando muestreo


sin reposición.
Muestreo Sistemático
El muestreo sistemático es un tipo de muestreo que es aplicable cuando los elementos de la
población sobre la que se realiza el muestreo están ordenados. Este procedimiento de
muestreo se basa en tomar muestras de una manera directa y ordenada a partir de una regla
determinística, también llamada sistemática. Concretamente, a partir de una sola unidad que
se selecciona en primer lugar, el resto de las unidades de la muestra vienen determinadas
automáticamente al aplicarle a dicha unidad una regla selección sistemática. Bajo este
procedimiento de muestreo, por ejemplo, seleccionamos cada vigésimo nombre de una lista,
cada decimosegunda casa de un lado de una calle, cada quincuagésima pieza de una línea de
montaje, etc.

. La obtención de una muestra sistemática de tamaño n de una población de N elementos se


consigue siguiendo el siguiente procedimiento.

1. Conseguir un listado ordenado de los N elementos de la población.


2. Determinar el tamaño muestral n.
3. Definir el tamaño del salto sistemático k dado por k = N/n.
4. Elegir un número aleatorio δ entre 1 y k (δ=arranque aleatorio). Este número permite
obtener la primera unidad muestral.
5. A partir de la posición δ, dando un salto de k unidades, obtendremos la segunda
unidad de la muestra uδ+k y de esta forma, saltando de k en k unidades, el resto de la
muestra estará formada por las unidades uδ+2k, uδ+3k, . . ., uδ+(n−1)k.

Muestreo Estratificado
El objetivo del diseño de encuestas por muestreo es maximizar la cantidad de información
para un coste dado. El muestreo aleatorio simple suele suministrar buenas estimaciones de
parámetros poblacionales a un coste bajo, pero existen otros procedimientos de muestreo,
como el muestreo estratificado, que en muchas ocasiones incrementa la cantidad de
información para un coste dado.

El muestreo estratificado es un diseño de muestreo probabilístico en el que dividimos a la


población en subgrupos o estratos. La estratificación puede basarse en una amplia variedad de
atributos o características de la población como edad, género, nivel socioeconómico,
ocupación, etc.

Así, consideramos una población heterogénea con N unidades, y en la que la subdividimos en L


subpoblaciones denominados estratos lo más homogéneas posibles no solapadas, atendiendo
a criterios que puedan ser importantes en el estudio, de tamaños N1, N2, . . ., NL. Obviamente.

N1 + N2 + . . . + NL = N

donde N es el total de individuos de la población. La muestra estratificada de tamaño n se


obtiene seleccionando una muestra aleatoria simple de tamaño nh (h = 1, 2, . . ., L) de cada
uno de los estratos en que se subdivide la población de forma independiente. De igual modo,

n1 + n2 + . . . + nL = n,
donde n es el tamaño de la muestra que queremos seleccionar. Podemos expresar la
formación de estratos en la población y la formación de la muestra estratificada de la forma
siguiente:

Población = {u1, u2, . . ., uN } −→ se divide en L estratos

Seleccionamos una muestra de tamaño n,

{u1, u2, . . ., un} −→ se extrae en cada estrato

Este muestreo se utiliza cuando la población de estudio es muy heterogénea ya que


necesitaríamos un gran esfuerzo muestral para obtener cierta precisión mientras que, si la
población está dividida en grupos, bloques o estratos que sean internamente homogéneos, el
esfuerzo en cada grupo será mínimo resultando globalmente un esfuerzo menor. Por ejemplo,
si preguntamos en una facultad el número medio de horas de estudio los estratos en este
estudio serán los cursos.

Las razones para el uso del muestreo estratificado son las siguientes:

• El muestreo estratificado puede aportar información más precisa de algunas


subpoblaciones que varían bastante en tamaño y propiedades entre sí, pero que son
homogéneas dentro de sí. Los estratos deberían en lo posible estar constituidos por
unidades homogéneas.
• El uso adecuado del muestro estratificado puede generar ganancia en precisión, pues
al dividir una población heterogénea en estratos homogéneos, el muestreo en estos
estratos tiene poco error debido precisamente a la homogeneidad.
• Motivaciones de tipo geográfico ya que se requieren estimaciones para ciertas áreas o
regiones geográficas.

Las cuestiones que plantea este tipo de muestreo son:

• ¿Qué características utilizar para dividir la población en estratos?


• ¿Cómo se identificarán los estratos?
• ¿Cuántos estratos debe haber?
• ¿Cuántas unidades seleccionar de cada estrato?
Método Congruencial Multiplicativo
Si b = 0, el generador de números pseudoaleatorios recibe el nombre de multiplicativo y suele
utilizar m = pg , donde p representa la cantidad de dígitos del sistema de numeración del
computador (p = 2) y g es la cantidad de dígitos de una palabra. El valor de g, en el caso de
computador con longitud de palabra variable, se deja a elección del simulador. Existen
estudios que prueban que el periodo máximo que se puede obtener con el generador
multiplicativo en computadores es m/4, con m = 2g (g > 2), y se logra con X0 impar y la
contante multiplicativa igual a: 8k + 3, donde k = 1, 2, 3. . . La ecuación para el generador
multiplicativo será:

a = constante multiplicativa = 8k +3

X0 = (aXi – 1) Mod (m) i = 1,2, 3,…...n

m= 2g , en donde g es un número entero. El número aleatorio se obtiene con la ecuación:

Si b ≠ 0, el generador de números pseudoaleatorios recibe el nombre de mixto. La ventaja de


este generador de números pseudoaleatorios con respecto al anterior es que, con este, si se
hace una elección adecuada de a y b, se puede conseguir que el periodo sea m.

Método Congruencial Aditivo


Este método necesita una secuencia previa de n números enteros X1, X2 , X3 . . .. Xn para
generar una nueva secuencia de números enteros que parte de Xn+1, Xn+2, Xn+3, . . .. Escogiendo
un módulo, la ecuación para generar números pseudoaleatorios será:
Pantallas de Excel+Vba

Pantalla Principal

Menú de Opciones

Muestreo Aleatorio Simple(pantalla)


Muestreo Sistemático (Pantalla)

Muestreo Estratificado (Pantalla)

Método Congruencial Multiplicativo (Pantalla)


Método Congruencial Aditivo (Pantalla)

Códigos Fuente

Procedimiento pagina principal


Private Sub Workbook_Open()
'mensaje de bienvenida que muestra el nombre del usuario de sistema
MsgBox "Bienvenido " & Application.UserName
'mostramos el menu principal
UserForm1.Show

End Sub

Módulo 1
Public vPoblacion As Integer, i As Integer
Public pctCompl As Single

Sub Aleatorio()
'generar números aleatorios mediante la instrucción Rnd
'dimensionamos la varaiable para controlar los limites de los rangos a utilizar en los aleatorios
On Error Resume Next
vPoblacion = InputBox("Ingrese el Tamaños de la población", "Población")
If vPoblacion = 0 Then
MsgBox "Debe ingresar una poblacion"
Exit Sub
End If

'validamos el tamaño maximo de la población


If vPoblacion > 20000 Then
'si la población es mayor a 20000 nos muestra un mensaje de error
MsgBox "Tamaño de la población máximo 20000", vbCritical, "Error en Población"
'si se cumple el tamño de la población, se incia el registro
Else

For j = 1 To vPoblacion
Sheets("Poblacion").Cells(j + 3, 1).Value = j
'apliacmos aleatorio entre y colocamos los limites inferior y superior
' R = Application.WorksheetFunction.RandBetween(1, 16)
Sheets("Poblacion").Range("J1").Value = "=+RANDBETWEEN(1,16)"
Sheets("Poblacion").Range("M1").Value = "=+RANDBETWEEN(1,2)"
Sheets("Poblacion").Range("O1").Value = "=+RANDBETWEEN(17,65)"
Sheets("Poblacion").Range("P1").Value = "=+RANDBETWEEN(1,24)"
Range("J1:P1").Select
Selection.Copy
Sheets("Poblacion").Cells(j + 3, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Poblacion").Cells(j + 3, 3).Value = "=+VLOOKUP(RC[-
1],tablas!R2C1:R17C4,2,FALSE)"
Sheets("Poblacion").Cells(j + 3, 4).Value = "=+VLOOKUP(RC[-
2],tablas!R2C1:R17C4,3,FALSE)"
' R1 = Application.WorksheetFunction.RandBetween(1, 2)
' Sheets("Poblacion").Range("K1").Value = R1
' Sheets("Poblacion").Range("K1").Value = "=+RANDBETWEEN(1,2)"
' Range("K1").Select
' Selection.Copy
' Sheets("Poblacion").Cells(j + 3, 5).Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
Sheets("Poblacion").Cells(j + 3, 6).Value = "=+VLOOKUP(RC[-
1],tablas!R2C9:R3C10,2,FALSE)"
' R2 = Application.WorksheetFunction.RandBetween(17, 65)
' Sheets("Poblacion").Range("L1").Value = R2
' Range("L1").Select
' Selection.Copy
' Sheets("Poblacion").Cells(j + 3, 7).Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
' R3 = Application.WorksheetFunction.RandBetween(1, 24)
' Sheets("Poblacion").Range("M1").Value = R3
' Range("M1").Select
' Selection.Copy
' Sheets("Poblacion").Cells(j + 3, 8).Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
Sheets("Poblacion").Cells(j + 3, 9).Value = "=+VLOOKUP(RC[-
1],tablas!R2C6:R25C7,2,FALSE)"

X = (j / vPoblacion) * 100
pctCompl = Round(X, 1)
Call Aumenta_progreso(pctCompl)

Next j

Range(Cells(4, 1), Cells(j + 3, 9)).Select


With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With

End If
Sheets("Poblacion").Visible = True
Sheets("Poblacion").Range("S6").Value = "DATOS"
Sheets("Poblacion").Range("S7").Value = "Tamaño de la Población generada: " & vPoblacion
Sheets("Poblacion").Range("S8").Value = "Tamaño de la variable Candidato: " &
Sheets("tablas").Range("tbCandidatos").Rows.Count
Sheets("Poblacion").Range("S9").Value = "Tamaño de la variable Sexo: " &
Sheets("tablas").Range("tbSexo").Rows.Count
Sheets("Poblacion").Range("S10").Value = "Tamaño de la variable Provincia: " &
Sheets("tablas").Range("tbProvincias").Rows.Count

Sheets("Poblacion").Range("S6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With

Sheets("Poblacion").Range("S6:S10").Select
With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With

End Sub

Sub Aumenta_progreso(pctCompl As Single)

'Actualizo el UserForm
UserForm1.Progreso.Caption = "Generando población al: " & pctCompl & "% Completado"
UserForm1.barra.Width = pctCompl * 3

'me permite actualizar el Userform y que se refleje


DoEvents

End Sub

Sub limpiar()

Sheets("Poblacion").Select
Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Sheets("Muestreo Aleatorio Simple").Select


Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Sheets("Muestreo Sistematico").Select
Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Sheets("Muestreo Estratificado").Select
Rows("7:7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Sheets("Método Congruencial Multiplicat").Select


Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Sheets("Método Congruencial Aditivo").Select


Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
' Range(Selection, Selection.End(xlDown)).Select
' Range(Selection, Selection.End(xlDown)).Select
' Range(Selection, Selection.End(xlDown)).Select

End Sub

Modulo 2
Public vError As Double
Public vConfianza As Double, vMuestra As Double
Public vP As Double, vQ As Double, vZ As Double

Sub tamanoMuestra()
' Dim vNumerador As Double, vDenominador As Double
Dim vTam As Double

vConfianza = UserForm3.ListBox1.Value / 100


vP = UserForm3.TextBox1.Value
vQ = UserForm3.TextBox2.Value

vTam = (vPoblacion) / (1 + ((vError * vError) * (vPoblacion - 1)) / ((vZ * vZ) + (vP * vQ)))
vMuestra = Round(vTam)
rsp = MsgBox("El tamaño de la muestra es: " & vMuestra, vbInformation, "Calculo del
Tamaño de la Muestra" & vbNewLine & "Presione aceptar para ver el muestreo")
If rsp = vbOK Then
Sheets("Muestreo Aleatorio Simple").Select
End If

For i = 1 To vMuestra
Sheets("Muestreo Aleatorio Simple").Range("h1") = "=+RANDBETWEEN(1," & vPoblacion
& ")"
Range("H1").Select
Selection.Copy
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 2).Value = "=+VLOOKUP(RC[-
1],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,2,FALSE)"
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 3).Value = "=+VLOOKUP(RC[-
2],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,3,FALSE)"
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 4).Value = "=+VLOOKUP(RC[-
3],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,4,FALSE)"
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 5).Value = "=+VLOOKUP(RC[-
4],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,6,FALSE)"
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 6).Value = "=+VLOOKUP(RC[-
5],Poblacion!R3C1:R" & vPoblacion + 3 & "C9,7,FALSE)"
Sheets("Muestreo Aleatorio Simple").Cells(i + 3, 7).Value = "=+VLOOKUP(RC[-
6],Poblacion!R3C1:R" & vPoblacion + 3 & "C9,9,FALSE)"
Next i
Sheets("Muestreo Aleatorio Simple").Range(Cells(4, 1), Cells(i + 3, 7)).Select
With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With

' Sheets("Poblacion").Visible = True


' Sheets("Muestreo Aleatorio Simple").Visible = True
' Sheets("Muestreo Sistematico").Visible = False
' Sheets("Muestreo estratificado").Visible = False
' Sheets("Principal").Visible = True
Sheets("tablas").Visible = False

Sheets("Muestreo Aleatorio Simple").Visible = True


Sheets("Muestreo Aleatorio Simple").Range("K6").Value = "DATOS"
Sheets("Muestreo Aleatorio Simple").Range("K7").Value = "Tamaño de la Población
generada: " & vPoblacion
Sheets("Muestreo Aleatorio Simple").Range("K8").Value = "Tamaño de la Muestra: " &
vMuestra
Sheets("Muestreo Aleatorio Simple").Range("K9").Value = "Nivel de Confianza: " &
vConfianza
Sheets("Muestreo Aleatorio Simple").Range("K10").Value = "Porcentaje de Error: " & vError
Sheets("Muestreo Aleatorio Simple").Range("K11").Value = "p: " & vP
Sheets("Muestreo Aleatorio Simple").Range("K12").Value = "q: " & vQ

Sheets("Muestreo Aleatorio Simple").Range("K6").Select


Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With

Sheets("Muestreo Aleatorio Simple").Range("K6:K12").Select


With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With

End Sub

Modulo 4
Public vK As Double
Public v1K As Double
Public vInicio As Double

Sub sistematico()

vK = vPoblacion / vMuestra
vInicio = WorksheetFunction.RandBetween(1, vK)

If vInicio > vPoblacion Then


v1K = Round(vInicio) - vPoblacion
End If
For i = 1 To vMuestra
Sheets("Muestreo Sistematico").Range("H1") = "=+RANDBETWEEN(1," & vPoblacion & ")"
Range("H1").Select
Selection.Copy
Cells(i + 3, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Muestreo Sistematico").Cells(i + 3, 2).Value = "=+VLOOKUP(RC[-
1],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,2,FALSE)"
Sheets("Muestreo Sistematico").Cells(i + 3, 3).Value = "=+VLOOKUP(RC[-
2],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,3,FALSE)"
Sheets("Muestreo Sistematico").Cells(i + 3, 4).Value = "=+VLOOKUP(RC[-
3],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,4,FALSE)"
Sheets("Muestreo Sistematico").Cells(i + 3, 5).Value = "=+VLOOKUP(RC[-
4],Poblacion!R4C1:R" & vPoblacion + 3 & "C9,6,FALSE)"
Sheets("Muestreo Sistematico").Cells(i + 3, 6).Value = "=+VLOOKUP(RC[-
5],Poblacion!R3C1:R" & vPoblacion + 3 & "C9,7,FALSE)"
Sheets("Muestreo Sistematico").Cells(i + 3, 7).Value = "=+VLOOKUP(RC[-
6],Poblacion!R3C1:R" & vPoblacion + 3 & "C9,9,FALSE)"

Next i

Range(Cells(4, 1), Cells(i + 3, 7)).Select


With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With

Sheets("Muestreo Sistematico").Visible = True


Sheets("Muestreo Sistematico").Range("K6").Value = "DATOS"
Sheets("Muestreo Sistematico").Range("K7").Value = "Tamaño de la Población generada: " &
vPoblacion
Sheets("Muestreo Sistematico").Range("K8").Value = "Tamaño de la Muestra: " & vMuestra
Sheets("Muestreo Sistematico").Range("K9").Value = "k: " & vK
Sheets("Muestreo Sistematico").Range("K10").Value = "1 + Aleatorio: " & v1K

Range("K6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With

Range("K6:K10").Select
With Selection
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
End Sub
Módulo 5
Sub estrato1()
On Error Resume Next
If UserForm6.ComboBox2.Value <> "" Then
mestrato1 = UserForm6.TextBox9.Value
mestrato2 = UserForm6.TextBox10.Value
mestrato3 = UserForm6.TextBox11.Value
mestrato4 = UserForm6.TextBox12.Value
If mestrato1 = "" Then
Exit Sub
Else
For i = 1 To mestrato1
Sheets(6).Range("a1") = "=+RANDBETWEEN(1," & mestrato1 & ")"
Range("a1").Select
Selection.Copy
Cells(i + 7, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(6).Cells(i + 7, 2).Value = "=+VLOOKUP(RC[-1],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,2,FALSE)"
Sheets(6).Cells(i + 7, 3).Value = "=+VLOOKUP(RC[-2],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,3,FALSE)"
Sheets(6).Cells(i + 7, 4).Value = "=+VLOOKUP(RC[-3],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,4,FALSE)"
Sheets(6).Cells(i + 7, 5).Value = "=+VLOOKUP(RC[-4],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,6,FALSE)"
Sheets(6).Cells(i + 7, 6).Value = "=+VLOOKUP(RC[-5],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,7,FALSE)"
Sheets(6).Cells(i + 7, 7).Value = "=+VLOOKUP(RC[-6],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,9,FALSE)"
Next i
End If

If mestrato2 = "" Then


Exit Sub
Else
For i = 1 To mestrato2
Sheets(6).Range("a1") = "=+RANDBETWEEN(1," & mestrato2 & ")"
Range("a1").Select
Selection.Copy
Cells(i + 7, 9).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(6).Cells(i + 7, 10).Value = "=+VLOOKUP(RC[-1],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,2,FALSE)"
Sheets(6).Cells(i + 7, 11).Value = "=+VLOOKUP(RC[-2],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,3,FALSE)"
Sheets(6).Cells(i + 7, 12).Value = "=+VLOOKUP(RC[-3],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,4,FALSE)"
Sheets(6).Cells(i + 7, 13).Value = "=+VLOOKUP(RC[-4],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,6,FALSE)"
Sheets(6).Cells(i + 7, 14).Value = "=+VLOOKUP(RC[-5],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,7,FALSE)"
Sheets(6).Cells(i + 7, 15).Value = "=+VLOOKUP(RC[-6],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,9,FALSE)"
Next i
End If

If mestrato3 = "" Then


Exit Sub
Else
For i = 1 To mestrato3
Sheets(6).Range("a1") = "=+RANDBETWEEN(1," & mestrato3 & ")"
Range("a1").Select
Selection.Copy
Cells(i + 7, 17).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(6).Cells(i + 7, 18).Value = "=+VLOOKUP(RC[-1],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,2,FALSE)"
Sheets(6).Cells(i + 7, 19).Value = "=+VLOOKUP(RC[-2],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,3,FALSE)"
Sheets(6).Cells(i + 7, 20).Value = "=+VLOOKUP(RC[-3],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,4,FALSE)"
Sheets(6).Cells(i + 7, 21).Value = "=+VLOOKUP(RC[-4],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,6,FALSE)"
Sheets(6).Cells(i + 7, 22).Value = "=+VLOOKUP(RC[-5],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,7,FALSE)"
Sheets(6).Cells(i + 7, 23).Value = "=+VLOOKUP(RC[-6],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,9,FALSE)"
Next i
End If

If mestrato4 = "" Then


Exit Sub
Else
For i = 1 To mestrato4
Sheets(6).Range("a1") = "=+RANDBETWEEN(1," & mestrato4 & ")"
Range("a1").Select
Selection.Copy
Cells(i + 7, 25).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(6).Cells(i + 7, 26).Value = "=+VLOOKUP(RC[-1],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,2,FALSE)"
Sheets(6).Cells(i + 7, 27).Value = "=+VLOOKUP(RC[-2],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,3,FALSE)"
Sheets(6).Cells(i + 7, 28).Value = "=+VLOOKUP(RC[-3],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,4,FALSE)"
Sheets(6).Cells(i + 7, 29).Value = "=+VLOOKUP(RC[-4],Poblacion!R4C1:R" & vPoblacion + 3 &
"C9,6,FALSE)"
Sheets(6).Cells(i + 7, 30).Value = "=+VLOOKUP(RC[-5],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,7,FALSE)"
Sheets(6).Cells(i + 7, 31).Value = "=+VLOOKUP(RC[-6],Poblacion!R3C1:R" & vPoblacion + 3 &
"C9,9,FALSE)"
Next i
End If

' Range(Cells(4, 1), Cells(i + 3, 7)).Select


' With Selection
' .Borders(xlEdgeLeft).Weight = xlThin
' .Borders(xlEdgeTop).Weight = xlThin
' .Borders(xlEdgeBottom).Weight = xlThin
' .Borders(xlEdgeRight).Weight = xlThin
' .Borders(xlInsideVertical).Weight = xlThin
' .Borders(xlInsideHorizontal).Weight = xlThin
' End With
'
' Sheets("Poblacion").Visible = True
' Sheets("Muestreo Aleatorio Simple").Visible = True
' Sheets("Muestreo Sistematico").Visible = True
' Sheets("Muestreo estratificado").Visible = False
' Sheets("Principal").Visible = True
' Sheets("tablas").Visible = False
'
' Sheets("Muestreo Sistematico").Visible = True
' Sheets("Muestreo Sistematico").Range("K6").Value = "DATOS"
' Sheets("Muestreo Sistematico").Range("K7").Value = "Tamaño de la Población generada: "
& vPoblacion
' Sheets("Muestreo Sistematico").Range("K8").Value = "Tamaño de la Muestra: " & vMuestra
' Sheets("Muestreo Sistematico").Range("K9").Value = "k: " & vK
' Sheets("Muestreo Sistematico").Range("K10").Value = "1 + Aleatorio: " & v1K
'
' Range("K6").Select
' Selection.Font.Bold = True
' With Selection.Interior
' .Pattern = xlSolid
' .PatternColorIndex = xlAutomatic
' .ThemeColor = xlThemeColorAccent4
' .TintAndShade = 0.399975585192419
' .PatternTintAndShade = 0
' End With
'
' Range("K6:K10").Select
' With Selection
' .Borders(xlEdgeLeft).Weight = xlThin
' .Borders(xlEdgeTop).Weight = xlThin
' .Borders(xlEdgeBottom).Weight = xlThin
' .Borders(xlEdgeRight).Weight = xlThin
' .Borders(xlInsideVertical).Weight = xlThin
' .Borders(xlInsideHorizontal).Weight = xlThin
' End With
End If
End Sub
Módulo 6
Sub Congruencialmultiplicativo()
Dim n, M As Variant, k As Integer
Dim X(0 To 20000) As Double, R As Double
ActiveWindow.DisplayGridlines = False
Sheets(7).Select
Range("A1:F20000").Select
With Selection
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
End With
k=2
X(0) = InputBox("Introduzca una Semilla de aleatorización mínimo de dos cifras e impar")
a=8*k+3
G = InputBox("Introduzca un número entero"): M = 2 ^ G
Range("D1").Select: ActiveCell.FormulaR1C1 = "Semilla de aleatorización"
Range("D2").Select: ActiveCell.FormulaR1C1 = "La cantidad de dígitos"
Range("D3").Select: ActiveCell.FormulaR1C1 = "El número entero"
Range("D4").Select: ActiveCell.FormulaR1C1 = "El constante de a"
Range("D5").Select: ActiveCell.FormulaR1C1 = "El módulo"
Columns("D:D").EntireColumn.AutoFit
Cells(1, 5).Value = X(0): Cells(2, 5).Value = k
Cells(3, 5).Value = G: Cells(4, 5).Value = a
Cells(5, 5).Value = M
Range("F3").Select: ActiveCell.FormulaR1C1 = "Número de corridas"
Range("G3").Select: ActiveCell.FormulaR1C1 = "Números Aleatorios"
Range("F3:G3").Select
Selection.Interior.ColorIndex = 6
c = InputBox("Introduzca el Número Corridas"): Cells(1, 8).Value = c
For i = 1 To c
Cells(i + 3, 6).Value = i
X(i) = (a * X(i - 1)) Mod M
R = X(i) / (M - 1): Cells(i + 3, 7).Value = R
Next
Range("E1").Select
End Sub

Módulo 7
Sub Congruencialaditivo()
Dim n As Long, R As Double, X(1 To 20000) As Double
ActiveWindow.DisplayGridlines = False
Sheets(8).Select
Range("A1:H20000").Select
With Selection
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
End With
n = InputBox("Introduzca el número de secuencia de número enteros")
For i = 1 To n
Cells(i, 1).Value = "X" & i
X(i) = InputBox("Introduzca el número de X " & i & " de la secuencia")
Cells(i, 2).Value = X(i)
Next
Range("A" & (n + 1)).Select: ActiveCell.FormulaR1C1 = "M"
M = InputBox("Introduzca el módulo"): Cells(n + 1, 2).Value = M
k = InputBox("Introduzca el número de seudo-aleatorios a generar")
Cells(1, 8).Value = k
Range("F3").Select: ActiveCell.FormulaR1C1 = "Número de corridas"
Range("G3").Select: ActiveCell.FormulaR1C1 = "Números Aleatorios"
Range("F3:G3").Select
Selection.Interior.ColorIndex = 6
For i = n + 1 To n + k
Cells(i - 2, 6).Value = i - n
X(i) = (X(i - 1) + X(i - n)) Mod M
R = X(i) / (M - 1): Cells(i - 2, 7).Value = R
Next
Range("A1").Select
End Sub

Userform1
Private Sub UserForm_Initialize()

Me.Caption = "Eddy Bastidas Macias ..:: S I M U L A C I O N D E S I S T E M A S ::.. 6/2 "

Me.Label1.Caption = "MENU PRINCIPAL"


Me.Label2.Caption = "Simulación de intención de voto Elecciones Presidenciales Ecuador
2021"
Me.Label3.Caption = "Ver lista de Candidatos"
Label3.Font.Bold = True
Label3.ForeColor = RGB(0, 255, 0)
Me.CommandButton3.Caption = "Generar Poblacion"
Me.CommandButton4.Caption = "Ir al Menú"

End Sub

Private Sub CommandButton3_Click()


Sheets(3).Select
Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A4").Select

Me.Progreso.Visible = True
Me.barra.Visible = True
Me.Label4.Visible = True
Me.Height = 215
Aleatorio

End Sub
Private Sub CommandButton4_Click()
Me.Height = 165
Unload Me
UserForm4.Show
End Sub

Private Sub Label3_Click()


Unload Me
UserForm2.Show
End Sub

Userform3
Private Sub CommandButton2_Click()
Me.Label9.Caption = "Procesando... por favor espere"
Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Call tamanoMuestra
'Call Progreso
Me.Label9.Caption = "Completado"
End Sub

Private Sub CommandButton3_Click()


Unload Me
UserForm4.Show

End Sub

Private Sub ListBox1_Change()

If ListBox1.Value = "90" Then


vError = CDbl(0.1)
vZ = CDbl(1.65)
End If
If ListBox1.Value = "91" Then
vError = CDbl(0.09)
vZ = CDbl(1.69)
End If
If ListBox1.Value = "92" Then
vError = CDbl(0.08)
vZ = CDbl(1.75)
End If
If ListBox1.Value = "93" Then
vError = CDbl(0.07)
vZ = CDbl(1.81)
End If
If ListBox1.Value = "94" Then
vError = CDbl(0.06)
vZ = CDbl(1.88)
End If
If ListBox1.Value = "95" Then
vError = CDbl(0.05)
vZ = CDbl(1.96)
End If
If ListBox1.Value = "96" Then
vError = CDbl(0.04)
vZ = CDbl(2.05)
End If
If ListBox1.Value = "97" Then
vError = CDbl(0.03)
vZ = CDbl(2.17)
End If
If ListBox1.Value = "98" Then
vError = CDbl(0.02)
vZ = CDbl(2.32)
End If
If ListBox1.Value = "99" Then
vError = CDbl(0.01)
vZ = CDbl(2.57)
End If
Me.Label6.Caption = "Procentaje de Error: " & vError * 100 & "%"
Me.Label8.Caption = "Z= " & vZ

End Sub

Private Sub TextBox1_Change()


prob = 1

If Me.TextBox1.Value > 1 Then


MsgBox "Valor no permitido, la probabilidad debe ser un valor entre 0 y 1"
Me.TextBox1.Text = Empty
Me.TextBox2.Text = Empty
Else
Me.TextBox2.Value = prob - Me.TextBox1.Value
End If

End Sub

Private Sub UserForm_Initialize()


'asiganmos los nombres a los objetos utilizados
Me.Caption = Sheets(4).Name
Me.Label5.Caption = "La población(N) es: " & vPoblacion
Me.Label2.Caption = "Seleccione el Nivel de Confianza (%)"
Me.Frame1.Caption = "Probabilidad"
Me.Label3.Caption = "Probabilidad de Éxito(p): "
Me.Label4.Caption = "Probabilidad de Fracaso(q): "
Me.CommandButton2.Caption = "Obtener la Muestra"
Me.CommandButton3.Caption = "Regresar"
Me.Label6.Caption = "Margen de Error (%)"

Me.TextBox2.Enabled = False

'agregamos los valores de error


' Me.ComboBox2.AddItem "1"
' Me.ComboBox2.AddItem "2"
' Me.ComboBox2.AddItem "3"
' Me.ComboBox2.AddItem "4"
' Me.ComboBox2.AddItem "5"
' Me.ComboBox2.AddItem "6"
' Me.ComboBox2.AddItem "7"
' Me.ComboBox2.AddItem "8"
' Me.ComboBox2.AddItem "9"
' Me.ComboBox2.AddItem "10"
'
'ingresamos los valores de la lista de nivel de confianza
' Me.ListBox1.AddItem "50"
' Me.ListBox1.AddItem "60"
' Me.ListBox1.AddItem "70"
' Me.ListBox1.AddItem "80"
Me.ListBox1.AddItem "90"
Me.ListBox1.AddItem "91"
Me.ListBox1.AddItem "92"
Me.ListBox1.AddItem "93"
Me.ListBox1.AddItem "94"
Me.ListBox1.AddItem "95"
Me.ListBox1.AddItem "96"
Me.ListBox1.AddItem "97"
Me.ListBox1.AddItem "98"
Me.ListBox1.AddItem "99"
End Sub

Userform 4
Private Sub CommandButton1_Click()
Unload Me
Sheets(4).Select
UserForm3.Show
End Sub

Private Sub CommandButton2_Click()


Unload Me
Sheets(5).Select
UserForm5.Show
End Sub

Private Sub CommandButton3_Click()


Unload Me
Sheets(6).Select
UserForm6.Show
End Sub

Private Sub CommandButton4_Click()


Congruencialmultiplicativo
End Sub

Private Sub CommandButton5_Click()


Congruencialaditivo
End Sub

Private Sub CommandButton7_Click()


Unload Me
UserForm1.Show
End Sub

Private Sub UserForm_Initialize()

Me.Caption = "..::: M e n ú :::.."


Me.Label1.Caption = "La porblación es " & vPoblacion
Me.CommandButton1.Caption = Sheets(4).Name
Me.CommandButton2.Caption = Sheets(5).Name
Me.CommandButton3.Caption = Sheets(6).Name
Me.CommandButton4.Caption = Sheets(7).Name
Me.CommandButton5.Caption = Sheets(8).Name
Me.CommandButton7.Caption = "Regresar"
Me.Frame1.Caption = "Muestreos"
Me.Frame2.Caption = "Métodos"

End Sub

Userform5
Private Sub CommandButton1_Click()
Sheets("Muestreo Sistematico").Select
Rows("4:4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

sistematico
'Unload Me

End Sub

Private Sub CommandButton2_Click()


Unload Me
UserForm4.Show
End Sub

Private Sub UserForm_Initialize()

Me.Caption = Sheets(5).Name
Me.Label1.Caption = "La Población es: " & vPoblacion
Me.Label2.Caption = "El Tamaño de la muestra es: " & vMuestra
Me.CommandButton1.Caption = "Generar K"
Me.CommandButton2.Caption = "Regresar"

End Sub

Userform6
Private Sub ComboBox2_Change()
Dim sujetos As Double

If Me.ComboBox2.Value = "2" Then


Me.Label4.Visible = True
Me.Label5.Visible = True
Me.Label6.Visible = False
Me.Label7.Visible = False
Me.Label11.Caption = Round(vMuestra / 2) & " Sujetos"

Me.TextBox1.Visible = True
Me.TextBox2.Visible = True
Me.TextBox3.Visible = False
Me.TextBox4.Visible = False
Me.TextBox5.Visible = True
Me.TextBox6.Visible = True
Me.TextBox7.Visible = False
Me.TextBox8.Visible = False
Me.TextBox9.Visible = True
Me.TextBox10.Visible = True
Me.TextBox9.Enabled = False
Me.TextBox10.Enabled = False
Me.TextBox11.Visible = False
Me.TextBox12.Visible = False

End If

If Me.ComboBox2.Value = "3" Then


Me.Label4.Visible = True
Me.Label5.Visible = True
Me.Label6.Visible = True
Me.Label7.Visible = False
Me.Label11.Caption = Round(vMuestra / 3) & " Sujetos"

Me.TextBox1.Visible = True
Me.TextBox2.Visible = True
Me.TextBox3.Visible = True
Me.TextBox4.Visible = False
Me.TextBox5.Visible = True
Me.TextBox6.Visible = True
Me.TextBox7.Visible = True
Me.TextBox8.Visible = False
Me.TextBox9.Visible = True
Me.TextBox10.Visible = True
Me.TextBox11.Visible = True
Me.TextBox9.Enabled = False
Me.TextBox10.Enabled = False
Me.TextBox11.Enabled = False
Me.TextBox12.Visible = False
End If
If Me.ComboBox2.Value = "4" Then
Me.Label4.Visible = True
Me.Label5.Visible = True
Me.Label6.Visible = True
Me.Label7.Visible = True
Me.Label11.Caption = Round(vMuestra / 4) & " Sujetos"

Me.TextBox1.Visible = True
Me.TextBox2.Visible = True
Me.TextBox3.Visible = True
Me.TextBox4.Visible = True
Me.TextBox5.Visible = True
Me.TextBox6.Visible = True
Me.TextBox7.Visible = True
Me.TextBox8.Visible = True
Me.TextBox9.Visible = True
Me.TextBox10.Visible = True
Me.TextBox11.Visible = True
Me.TextBox12.Visible = True
Me.TextBox9.Enabled = False
Me.TextBox10.Enabled = False
Me.TextBox11.Enabled = False
Me.TextBox12.Enabled = False
End If

End Sub

Private Sub CommandButton1_Click()


Rows("8:8").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

estrato1
End Sub

Private Sub CommandButton2_Click()


Unload Me
UserForm4.Show
End Sub

Private Sub TextBox1_Change()


On Error Resume Next
Me.TextBox5.Value = (CDbl(Me.TextBox1.Value) / vPoblacion) * 100 & " %"
Me.TextBox9.Value = Round((CDbl(Me.TextBox1.Value) / vPoblacion) * vMuestra)
End Sub

Private Sub TextBox2_Change()


On Error Resume Next
Me.TextBox6.Value = (CDbl(Me.TextBox2.Value) / vPoblacion) * 100 & " %"
Me.TextBox10.Value = Round((CDbl(Me.TextBox2.Value) / vPoblacion) * vMuestra)
If (CDbl(Me.TextBox1.Value) + CDbl(Me.TextBox2.Value)) > (vMuestra /
CDbl(Me.ComboBox2.Value)) Then
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
MsgBox "La sumatoria de sujetos del estrato 1 y estrato 2 no puede superar la cantidad
todal de sujetos"
End If
End Sub

Private Sub TextBox3_Change()


On Error Resume Next
Me.TextBox7.Value = (CDbl(Me.TextBox3.Value) / vPoblacion) * 100 & " %"
Me.TextBox11.Value = Round((CDbl(Me.TextBox3.Value) / vPoblacion) * vMuestra)
If (CDbl(Me.TextBox1.Value) + CDbl(Me.TextBox2.Value) + CDbl(Me.TextBox3.Value)) >
(vMuestra / CDbl(Me.ComboBox2.Value)) Then
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
MsgBox "La sumatoria de sujetos del estrato 1, estrato 2 y estrato 3 no puede superar la
cantidad todal de sujetos"
End If
End Sub

Private Sub TextBox4_Change()


On Error Resume Next
Me.TextBox8.Value = (CDbl(Me.TextBox4.Value) / vPoblacion) * 100 & " %"
Me.TextBox12.Value = Round((CDbl(Me.TextBox4.Value) / vPoblacion) * vMuestra)
If (CDbl(Me.TextBox1.Value) + CDbl(Me.TextBox2.Value) + CDbl(Me.TextBox3.Value) +
CDbl(Me.TextBox4.Value)) > (vMuestra / CDbl(Me.ComboBox2.Value)) Then
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
Me.TextBox4.Value = ""
MsgBox "La sumatoria de sujetos del estrato 1, estrato 2, estrato 3 y sujeto 4 no puede
superar la cantidad todal de sujetos"
End If
End Sub
Private Sub UserForm_Initialize()

Me.Caption = Sheets(6).Name
Me.Label1.Caption = "El tamaño de la población es: " & vPoblacion
Me.Label2.Caption = "El tamaño de la muestra es: " & vMuestra
Me.Label3.Caption = "Seleccione Cantidad de estratos"
Me.Label4.Caption = "Estrato 1"
Me.Label5.Caption = "Estrato 2"
Me.Label6.Caption = "Estrato 3"
Me.Label7.Caption = "Estrato 4"
Me.ComboBox2.AddItem "2"
Me.ComboBox2.AddItem "3"
Me.ComboBox2.AddItem "4"
Me.Label8.Caption = "Sujetos por Estrato"
Me.Label9.Caption = "Proporción"
Me.Label10.Caption = "Muestra del Estrato"
Me.Label11.Caption = ""

Me.CommandButton1.Caption = "Generar Estratos"


Me.CommandButton2.Caption = "Regresar"

Me.Label4.Visible = False
Me.Label5.Visible = False
Me.Label6.Visible = False
Me.Label7.Visible = False

Me.TextBox1.Visible = False
Me.TextBox2.Visible = False
Me.TextBox3.Visible = False
Me.TextBox4.Visible = False
Me.TextBox5.Visible = False
Me.TextBox6.Visible = False
Me.TextBox7.Visible = False
Me.TextBox8.Visible = False
Me.TextBox9.Visible = False
Me.TextBox10.Visible = False
Me.TextBox11.Visible = False
Me.TextBox12.Visible = False

End Sub