Está en la página 1de 5

'APRENDE Y ENSEÑA EXCEL

'TODAS LAS COMBINACIONES CON REPETIR Y SIN REPETIR EN EXCEL CON MACROS
'VIDEO DE YOUTUBE: https://www.youtube.com/watch?
v=Gb84Y1fc8Ys&lc=z220f5siyymmcp5hx04t1aokgfwlwgobqkvtrwgekn1qbk0h00410
'SUSCRIBETE AL CANAL:http://www.youtube.com/channel/UChonIc52GnJLRxshFjUxrGA?
sub_confirmation=1
'SIGUENOS EN NUESTRO BLOGG: https://aprendeyensenaexcel.blogspot.com.co/#
'SIGUENOS EN FACEBOOK: APRENDE EXCEL FACIL

'Macro para ejecutar combinaciónes CON REPETICION de 4 digitos del 0 al 9 con


repetición (Formula En Excel = COMBINA()
Dim fila As Integer
Dim columna As Integer
Dim num_minimo As Integer 'Es el número menor del elemento ejem: 0 al 9 sería el 0
Dim num_Superior As Integer 'Es el numero mayor del elemento Ejem: 0 al 9 sería el
9
Dim numdigitos As Integer 'Numero de digitos. Ejemplo: 1,2,3 sería 3 0,1 sería el 2

fila = InputBox("Escribe el número de fila donde deseas la primera combinación",


"COMBINACIONES") '
columna = InputBox("Escribe el número de columna donde deseas la primera
combinación", "COMBINACIONES")
num_minimo = InputBox("Escribe el número menor del elemento para la combinación,
Ejemplo: Combinaciones del 0 al 9; el número sería el 0", "NUMERO LIMITE INFERIOR")
num_Superior = InputBox("Escribe el número mayor del elemento para la combinación,
Ejemplo: Combinaciones del 0 al 9; el número sería el 9", "NUMERO LIMITE SUPERIOR")
numdigitos = InputBox("Escribe la cantidad de digitos de las combinaciones,
Ejemplo: 1,2,3,4; Sería 4", "NÚMERO DE DIGITOS")

'Combinaciones para dos digitos


If numdigitos = 2 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior

combinacion = numero1 & "," & numero2


Cells(fila, columna) = combinacion
fila = fila + 1

Next numero2
Next numero1

Else

'Combinaciones para tres digitos

If numdigitos = 3 Then
For numero1 = num_minimo To num_Superior
For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3
Cells(fila, columna) = combinacion
fila = fila + 1

Next numero3
Next numero2
Next numero1

Else

'Combinaciones para cuatro digitos

If numdigitos = 4 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4
Cells(fila, columna) = combinacion
fila = fila + 1

Next numero4
Next numero3
Next numero2
Next numero1

Else

'Combinaciones para cinco digitos

If numdigitos = 5 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior
For numero5 = numero4 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4 & "," &
numero5
Cells(fila, columna) = combinacion
fila = fila + 1
Next numero5
Next numero4
Next numero3
Next numero2
Next numero1

Else

'Combinaciones para seis digitos

If numdigitos = 6 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior
For numero5 = numero4 To num_Superior
For numero6 = numero5 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4 & "," &
numero5 & "," & numero6
Cells(fila, columna) = combinacion
fila = fila + 1
Next numero6
Next numero5
Next numero4
Next numero3
Next numero2
Next numero1

Else

'Combinaciones para siete digitos

If numdigitos = 7 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior
For numero5 = numero4 To num_Superior
For numero6 = numero5 To num_Superior
For numero7 = numero6 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4 & "," &
numero5 & "," & numero6 & "," & numero7
Cells(fila, columna) = combinacion
fila = fila + 1
Next numero7
Next numero6
Next numero5
Next numero4
Next numero3
Next numero2
Next numero1

Else

'Combinaciones para ocho digitos

If numdigitos = 8 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior
For numero5 = numero4 To num_Superior
For numero6 = numero5 To num_Superior
For numero7 = numero6 To num_Superior
For numero8 = numero7 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4 & "," &
numero5 & "," & numero6 & "," & numero7 & "," & numero8
Cells(fila, columna) = combinacion
fila = fila + 1
Next numero8
Next numero7
Next numero6
Next numero5
Next numero4
Next numero3
Next numero2
Next numero1

Else

'Combinaciones para nueve digitos

If numdigitos = 9 Then

For numero1 = num_minimo To num_Superior


For numero2 = numero1 To num_Superior
For numero3 = numero2 To num_Superior
For numero4 = numero3 To num_Superior
For numero5 = numero4 To num_Superior
For numero6 = numero5 To num_Superior
For numero7 = numero6 To num_Superior
For numero8 = numero7 To num_Superior
For numero9 = numero8 To num_Superior

combinacion = numero1 & "," & numero2 & "," & numero3 & "," & numero4 & "," &
numero5 & "," & numero6 & "," & numero7 & "," & numero8 & "," & numero9
Cells(fila, columna) = combinacion
fila = fila + 1
Next numero9
Next numero8
Next numero7
Next numero6
Next numero5
Next numero4
Next numero3
Next numero2
Next numero1

End If
End If
End If
End If
End If
End If
End If
End If

También podría gustarte