Lotear producto por veces seleccionado en un listbox vb excel
Me pueden apoyar con lo siguiente..
Manejo una hoja llamada base de datos, el cual sus datos están de la siguiente manera

Cada semana del año tienen un numero y esto depende de la fecha en la que nos encontremos
Como muestra la imagen tengo el producto "pan de muerto chico" que en la semana 39 lo he pedido 3 veces por ende me hizo un consecutivo en lotes... Tomando en cuenta la semana en la que estamos
39&y la contabilidad del producto y como resultado me dio 39001, si yo sigo con el proceso (que hago desde un listbox) y vuelvo a seleccionar el mismo producto en la misma semana, este me da como resultado 39002 y así sucesivamente, cuando el dato de la semana es diferente o el producto es diferente los lotes re reinician en su conteo, por ejemplo en la semana 40 se selecciono 2 veces el "pan de muerto chico" y dio como resultado 40001,40002 y así sucesivamente, en caso de que el producto cambie como lo es "galleta de manteca" este toma en cuenta la semana en la que esta y hace su respectivo conteo en este caso se aprecia el 39001 (indicando que solo 1 vez se selecciono en la semana 39) ya indicando el contexto paso al código
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim cantidad 'Nro
X:
fila = Me.ListBox1.ListIndex
Set h = Sheets(Hoja31.Name)
'ListBox1.List(fila, 0) columna B
cantidad = InputBox("Clave: " & ListBox1.List(fila, 0) & vbCr & "Categoria: " & ListBox1.List(fila, 9) & _
vbCr & "Descripción: " & ListBox1.List(fila, 8) & vbCr & "Si estás seguro, captura la cantidad:", _
"Seleccionaste: " & ListBox1.List(fila, 1))
If IsNumeric(cantidad) Then
If Val(cantidad) > 0 Then
'agregar el producto al pedido
'FormPedido.ListBox1.AddItem Me.ListBox1.List(Me.ListBox1.ListIndex, 0) ' Producto
NOTAS.ListBox1.ColumnCount = 9
NOTAS.ListBox1.AddItem cantidad 'Pedido
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 1) = ARTICULOS.ListBox1.List(fila, 6) ' pzas x pedido
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 2) = ARTICULOS.ListBox1.List(fila, 0) ' clave
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 3) = ARTICULOS.ListBox1.List(fila, 2) 'producto
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 4) = cantidad * ARTICULOS.ListBox1.List(fila, 6) 'cantidad
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 5) = (Date + ARTICULOS.ListBox1.List(fila, 12)) 'caducidad
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 6) = "AQUI NECESITO EL LOTEO"
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 7) = Format(ARTICULOS.ListBox1.List(fila, 3), "$#,##0.00") 'costo
NOTAS.ListBox1.List(NOTAS.ListBox1.ListCount - 1, 8) = Format(ARTICULOS.ListBox1.List(fila, 3) * cantidad, "$#,##0.00") 'importe
NOTAS.ListBox1.ColumnWidths = "80 pt;80 pt;60 pt;220 pt;80 pt;140 pt;90 pt;100"
'este cuenta cuantos listbox estan en uso
For cuenta = 0 To NOTAS.ListBox1.ListCount - 1
If NOTAS.ListBox1.List(cuenta, 0) <> "" Then
Mm = Mm + 1
End If
Next
ARTICULOS.Label18.Caption = Mm 'MsgBox "hay un total de: " & m & " datos, y serán anotados en el textbox1"
NOTAS.Label18.Caption = Mm
'este es para sumar los importes de los listbox
For i = 0 To NOTAS.ListBox1.ListCount - 1 'ajustar nbre del control ListBox
tot = Val(tot) + NOTAS.ListBox1.List(i, 8)
Next i
NOTAS.Label19.Caption = Format(Val(tot), "$#,##0.00")
ARTICULOS.Label19.Caption = Format(Val(tot), "$#,##0.00")
NOTAS.Label25.Caption = CONVERTIRNUM(NOTAS.Label19.Caption)
'Unload Me
Else
MsgBox "Número menor a 0", vbExclamation + vbOKOnly, "Atención"
GoTo X
End If
End If
End SubEste código lo tengo en un listbox llamada ARTICULOS, que me pasa lo datos en otro listbox llamado
NOTAS, todo lo que yo voy capturando después con otro código me lo guarda en mi base de datos como muestra en la 1era imagen

Así queda cuando voy capturando según el codigo que tengo ahi... Ahora lo que yo necesito
es que cuando vaya capturando desde mis listbox me tome como referencia la base de datos
Ejemplo:
Si en mi base de datos tuviese ya datos asentados del producto "pan de muerto chico" de la semana 39
lotes 1 al 3 (39001,39002,39003) que al momento de capturar en mi listbox articulos y pasarlo a mi otro listbox NOtas.. Este me lotee con el consecutivo las veces que seleccione ese producto.. Ejemplo en la imagen vemos que tengo seleccionado 3 veces de nuevo el producto "pan de muerto chico" entonces me deberia asomar los lotes 39004,39005,39006.. Y en caso de que yo borre uno de la lista ejemplo: yo borre el lote 39005 este se me actualice y ahora sus lotes sean 39004,39005 únicamente porque dando seguimiento ahora son 2 "pan de muerto chico" y respetando sus lotes asi quedaria...
Y asi sucesivamente con los demas productos
teniendo en cuenta la semana y el nombre del producto
para posteriormente guardar el dato