Hola Gente del Foro:
Tengo la siguiente cuestión, supongamos que un UserForm tengo un ComboBox2
que por ejemplo tiene estas opciones:
G1
S1
S3
S8
Luego, tengo una base de datos en una hoja, como por ejemplo la siguiente:
Código Papeleria Fecha Vto. Primer Número Lote Ultimo Número
Lote Stock
G1 12/12/09 1
500 15
S1 10/12/07 1
250 0
S1 12/12/09 251
500 4
S1 10/12/10 501
750 5
S3 12/06/08 1
250 3
S3 10/12/10 251
501 15
S8 12/12/09 1
250 5
Los registros de esta base se ordenan automáticamente primero por el
criterio Código Papeleria y luego por Fecha Vto. (como se ve en el ejemplo).
Necesito un código que haga lo siguiente:
Primero, que busque en esa hoja (llamada Compras) el código en la primera
columna o campo (Código Papeleria). Una vez que lo encuentre, que se fije en
el campo Stock si este es distinto de 0, y en ese caso que muestre en un
Label el campo Fecha de Vto. y en otro Label la numeración que se compone
por los dos campos Primer y Ultimo Número Lote. Ahora, si el campo Stock es
igual a 0, el código debe buscar el siguiente (o el siguiente, hasta que
encuentre uno en el que el Stock no sea 0) y realizar el procedimiento antes
mencionado (modifique los Label).
Ejemplos:
En el ComboBox2 yo selecciono S1. Resultado: el Label7 muestra "251 a 500" y
el Label8 "12/12/09"
En el ComboBox2 yo selecciono S3. Resultado: el Label7 muestra "1 a 251" y
el Label8 "12/06/08"
El código que fui armando hasta ahora es:
Private Sub ComboBox2_Change()
Dim celda As Range
Dim primero As String
With Worksheets("Compras")
Set celda = [A:A].Find(ComboBox2, , xlValues, xlWhole)
If Not celda Is Nothing Then
primero = celda.Address
Do
If celda.Offset(0, 4) = 0 Then Set celda = [A:A].FindNext(celda)
Loop While Not celda Is Nothing And celda.Address <> primero
Label8.Caption = Format(celda.Offset(0, 1), "dd/mm/yyyy")
Label7.Caption = "Entre " & celda.Offset(0, 2) & " y " &
celda.Offset(0, 3)
Set celda = Nothing
End If
End With
End Sub
El código funciona bien en todo, excepto que cuando el campo Stock es 0 no
busca el siguiente registro que tenga el mismo código pero que no tenga
Stock 0. No se como solucionarlo!
Bueno, espero me haya explicado bien!
Desde ya muchisimas gracias!
Mariano
CONTADURIA
Leer las respuestas