Informe de stock general de productos según movimientos

Tengo el un código hecho excel con el vba. En el se abre un formulario y seleccione el código o el nombre del producto y genera un nuevo libro con el stock actual detallándome las entradas y salidas del producto. Lo que quisiera saber si me pueden dar una mano es como puedo hacer para que en vez de seleccionar un producto me de el de todos los productos, valiéndose del productor que tiene mayor entradas en el mes, o de lo contrario el producto que tenga mayor salidas en el mes.

A continuación dejo el código que me genera el reporte:

Private Sub btnAcepta_Click()
Dim NUEVO As Object
Dim i As Integer
Dim H As Integer
Dim L As Integer
Dim M As Integer
Dim j As Integer
Dim T As Integer
Dim FINALTOTAL As Integer

Dim final As Integer
Dim FINAL2 As Integer
Dim ORIGEN As String
Dim SALDO As Double
Dim VALOR As String
Dim CONTAR As Double
Dim CONTAR1 As Double

Set NUEVO = Workbooks.Add
NUEVO.Activate
ORIGEN = ActiveWorkbook.Name

For i = 1 To 1000
'ENTRADAS
If Hoja4.Cells(i, 1) = "" Then
final = i - 1
Exit For
End If
Next
'SALIDAS
For H = 1 To 1000
If Hoja5.Cells(H, 1) = "" Then
FINAL2 = H - 1
Exit For
End If
Next

VALOR = frmInfoRef.txtCod
' ENTRADAS
CONTAR = 10
' ASIGNAR VALORES PARA EL INFORME
Application.Workbooks(ORIGEN).Worksheets(1).Cells(1, 1) = "INFORME MOVIMIENTOS POR REFERENCIA"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(3, 2) = VALOR
For L = 1 To 1000
If Hoja2.Cells(L, 1) = VALOR Then
Application.Workbooks(ORIGEN).Worksheets(1).Cells(4, 2) = Hoja2.Cells(L, 2)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 2) = Hoja2.Cells(L, 3)
Exit For
End If
Next

For M = 1 To 1000
If Hoja2.Cells(M, 1) = VALOR Then
Application.Workbooks(ORIGEN).Worksheets(1).Cells(6, 2) = Hoja2.Cells(M, 4)
SALDO = Hoja2.Cells(M, 4)
Exit For
End If
Next

For j = 1 To final
If Hoja4.Cells(j, 1) = VALOR Then
CONTAR = CONTAR + 1
'***** funciona entradas
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 2) = Hoja4.Cells(j, 6)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 3) = Hoja4.Cells(j, 4)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 4) = Hoja4.Cells(j, 5)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 5) = 1 * Hoja4.Cells(j, 3)

End If
Next

' SALIDAS
CONTAR1 = 10

For j = 1 To final

If Hoja5.Cells(j, 1) = VALOR Then
CONTAR1 = CONTAR1 + 1

Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR1, 6) = Hoja5.Cells(j, 6)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR1, 7) = Hoja5.Cells(j, 4)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR1, 8) = Hoja5.Cells(j, 5)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR1, 9) = -Hoja5.Cells(j, 3)

End If
Next

' CALCULAR FINAL
For T = 11 To 1000
If Application.Workbooks(ORIGEN).Worksheets(1).Cells(T, 5) = "" And Application.Workbooks(ORIGEN).Worksheets(1).Cells(T, 9) = "" Then
FINALTOTAL = T
Exit For
End If
Next
Application.Workbooks(ORIGEN).Worksheets(1).Cells(FINALTOTAL, 8) = "SALDO"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(FINALTOTAL, 9) = SALDO

frmInfoRef.txtCod = ""
frmInfoRef.txtNombre = ""

FrmInfoRef. Hide
FrmInformes. Hide
FrmMenuInforme. Hide
FrmMenu. Hide
FrmLogin. Hide
Hoja1.Cells(3, 1) = ""

End Sub

Añade tu respuesta

Haz clic para o