H o l a: Te anexo la macro
Según tu ejemplo los saldos a repartir empiezan en la celda B5.
Ajusta el inicio de los saldos y el número de sucursales en las siguientes líneas, cambia el 5, la "B" y el número de sucursales:
fini = 5 'fila inicial
cini = "B" 'columna inicial
suc = 5 'número de sucursales
La macro
Sub Repartir()
'Por.Dante Amor
fini = 5 'fila inicial
cini = "B" 'columna inicial
suc = 5 'número de sucursales
'
Application.ScreenUpdating = False
k = Columns(cini).Column + 2
u = Range(cini & Rows.Count).End(xlUp).Row
Range(Cells(fini, k), Cells(u, k + suc)).ClearContents
For i = fini To u
saldo = Cells(i, cini)
n = 0
k = Columns(cini).Column + 2
If saldo < suc Then
For j = saldo To 1 Step -1
Cells(i, k) = 1
k = k + 1
Next
Else
Do While True
div = saldo / suc
If div - Int(div) > 0 Then
saldo = saldo - 1
n = n + 1
Else
Exit Do
End If
Loop
k = Columns(cini).Column + 2
For y = 1 To suc
Cells(i, k) = div
k = k + 1
Next
k = Columns(cini).Column + 2
For x = 1 To n
Cells(i, k) = Cells(i, k) + 1
k = k + 1
Next
End If
Next
Application.ScreenUpdating = True
MsgBox "Repartir saldo", vbInformation, "TERMINADO"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias