Repartir el valor de una celda en otras

Necesito repartir el valor de una celda y que me lo devuelva en la columna siguiente en tantas filas como sea necesario en fracciones de 125 unidades y la ultima con el resto. Es decir si el valor de F5 es 350 unidades necesito que me devuelva G5 125 unidades, G6 125 unidades y G7 100 unidades.

2 Respuestas

Respuesta
1

OPCIÓN 1:

Escribe en un módulo esta macro:

Sub reparte()
Dim frac As Double, resta As Double
frac = 125
resta = ActiveCell.Value
i = 1
Do While resta > frac
resta = resta - frac
ActiveCell.Offset(0, i) = frac
i = i + 1
Loop
ActiveCell.Offset(0, i) = resta
End Sub

Luego colócate en la celda con el monto a repartir... y ejecuta la macro

OPCIÓN 2:

Suponiendo que el número está en B5... en C5 copias esta fórmula

=SI((COLUMNAS($B5:B5)-1)*125>$B5,"",SI($B5-(COLUMNAS($B5:B5)-1)*125>125,125,RESIDUO($B5,125)))

Adáptala a la celda que realmente necesitas... respeta al pie de la letra, las apariciones o no de los $

Saludos,

Jaime

PD: No olvides valorar la respuesta

Respuesta
1

Suponendo que tus datos están en la celda A1, corres la siguiente macro

Sub REPARTE()
Set DATOS = Range("A1").CurrentRegion
With DATOS
    For I = 1 To .Rows.Count
        VECES = WorksheetFunction.Quotient(.Cells(I, 1), 125)
        RESTO = .Cells(I, 1) Mod 125
        .Cells(I, .Columns.Count + 1).Resize(1, VECES) = 125
        .Cells(I, .Columns.Count + VECES + 1) = RESTO
    Next I
End With
set datos=nothing
End Sub

y tendras este resultado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas