An array would make this easier...
Sub Test()
Dim rng(1 To 127) As Range, x As Long, rngAll As Range
Set rng(1) = Range("W2: AO128")
Set rng(2) = Range("AR2: BJ128")
'....etc
For x = 1 To 127
If Not rng(x) Is Nothing Then
Set rngAll = Application.Union(rng(x), rngAll)
Else
Set rngAll = rng(x)
End If
Next x
Debug.Print rngAll.Address()
'...
'SolverOK SetCell:="$U$282", MaxMinVal:=2, ByChange:=rngAll
End Sub