Como calcular cuantos productos se ocupan y restan VBA
Tengo un archivo en el cual la columna B es el total de productos que se tienen, pero necesito que al ingresar una cantidad en un textbox de un formulario y darle en el botón calcular, me vaya sumando las filas de la columna A hasta llegar a la cantidad que puse en el formulario y me ponga los utilizados en la columna C y en la columna D me coloque el restante.
Adjunto captura por si no me di a entender.
Tengo el siguiente código pero cuando coloco 250 en el campo del formulario en la columna C únicamente me pone una suma de 200, y si pongo 300 en el campo me pone 240 de suma.
Private Sub CommandButton1_Click() Dim Fila As Integer Dim Final As Integer Dim Total As Integer Dim b As Integer Dim R As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False For Fila = 2 To 1000 If Hoja1.Cells(Fila, 1) = "" Then Final = Fila - 1 Exit For End If Next For Fila = 2 To Final Total = Total + Hoja1.Cells(Fila, 4) Next For Fila = 2 To Final Hoja1.Cells(Fila, 4) = Hoja1.Cells(Fila, 2) Next b = Me.TextBox1 If Hoja1.Cells(Fila, 4) = 0 Then For Fila = 2 To Final If b = 0 Then Hoja1.Cells(Fila, 4) = Hoja1.Cells(Fila, 2) Exit Sub Else If b > Hoja1.Cells(Fila, 2) Then Hoja1.Cells(Fila, 4) = 0 Hoja1.Cells(Fila, 3) = Hoja1.Cells(Fila, 2) b = b - Hoja1.Cells(Fila + 1, 4) Hoja1.Cells(Fila + 1, 4) = b Else Hoja1.Cells(Fila, 4) = Hoja1.Cells(Fila, 2) - b Hoja1.Cells(Fila, 3) = Hoja1.Cells(Fila, 2) - Hoja1.Cells(Fila, 4) Exit Sub End If End If Next End If Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Respuesta de Ander GS
1