Si se trata de obtener todas las sumas para 6 números distintos entre el 1 y el 50, el código podría ser:
Public Sub BuscarSumas()
Dim a As Double, b As Double, c As Double, d As Double, e As Double, f As Double
Dim dValorBuscado As Double, iÚltimaFila As Long, n As Byte
dValorBuscado = InputBox("Número a procesar:")
Application.ScreenUpdating = False
With Worksheets("Hoja1")
.Cells.Delete
For a = 1 To 45
For b = a + 1 To 46
For c = b + 1 To 47
For d = c + 1 To 48
For e = d + 1 To 49
For f = e + 1 To 50
If a + b + c + d + e + f = dValorBuscado Then
iÚltimaFila = iÚltimaFila + 1
.Cells(iÚltimaFila, 1).Value = a
.Cells(iÚltimaFila, 2).Value = b
.Cells(iÚltimaFila, 3).Value = c
.Cells(iÚltimaFila, 4).Value = d
.Cells(iÚltimaFila, 5).Value = e
.Cells(iÚltimaFila, 6).Value = f
End If
Next f
Next e
Next d
Next c
Next b
Next a
End With
Application.ScreenUpdating = True
End Sub
Si la versión de Excel es anterior a la 2007 podría producirse un error dependiendo del número a procesar, porque muchos números producen más de 65536 combinaciones de sumandos posibles, y ese es el tope de filas en esas versiones de Excel.
Por ejemplo, para el 143 el código encuentra nada menos que 177123 combinaciones posibles.
Hay que tener en cuenta que el número de combinaciones sin repetición posibles para ese conjunto de 50 números en grupos de 6 son 15890700. Como la suma de esos 6 números puede estar entre 21 (1+2+3+4+5+6) y 285 (45+46+47+48+49+50) estamos hablando de 265 posibles resultados, por lo que el promedio de combinaciones posibles para cada número es de casi 59965 (15890700/265), pero lógicamente ese número de combinaciones posibles es mucho menor en los extremos y mayor en el centro (para el 21 y para el 285 tan sólo es posible una combinación mientras que para, por ejemplo el 153 (que está "en el medio") el número de combinaciones posibles es 184.430
El código necesita que haya una hoja en el libro llamada Hoja1, y dicha hoja será borrada cada vez que se ejecute.