Mejorar la division de 274 registro de una columna en 10 columnas y las filas que sean necesarias

Como esta Dante, hace un tiempo atrás me diste la respuesta a una necesidad que tenia que tenía, y está funcionando a la perfección te agradezco.

Sin embargo ahora quiero ver si se puede mejorar esa macro con la utilización de controles InputBox, con los siguientes criterios: rango a copiar, donde quiero copiar, en horizontal o vertical y el número de columnas a trasponer algo parecido a este ejemplo:

Sub swap_range()
Dim rngToSwap As Range, rngTarget As Range, cell As Range
Dim iX As Long, Counter As Long, HorVert As Integer
Dim arrval()
On Error GoTo err
Set rngToSwap = Application.InputBox _
(Prompt:="seleccionar el rango a copiar", Type:=8)
Set rngTarget = Application.InputBox _
(Prompt:="seleccione la primer celda para pegar", Type:=8)
HorVert = Application.InputBox( _
Prompt:="Horizontal = 1;Vertical = 2", Type:=1)
HorVert = Application.InputBox( _
Prompt:="poner el numero de coluna a distribuir", Type:=1)
Counter = rngToSwap.Count
ReDim arrval(Counter)
For iX = Counter - 1 To 0 Step -1
arrval(iX) = rngToSwap(Abs(iX - Counter)).Value
Next iX
Select Case HorVert
Case 1
Range(rngTarget, rngTarget.Offset(0, Counter)).Value = arrval
Case Else
Range(rngTarget, rngTarget.Offset(Counter, 0)).Value = _
WorksheetFunction.Transpose(arrval)
End Select
err:
Exit Sub
End Sub

Añade tu respuesta

Haz clic para o