No mostrar en combobox resultados de una columna si otra columna esta escrita (vba excel)

No hay otra forma de explicar la ayuda, que todos los expertos, dais voluntariamente a la gente que, como yo, apenas tienen conocimientos de programar. GRACIAS!

En un frm_albaran, mediante un combobox, selecciono un nº de pedido para registrarlo en la hoja "salidas" e imprimir o guardar un pdf ( gracias a la ayuda del compañero Daniel Espino)

Necesito que el combobox no muestre los nº de pedido en el cual ya se ha impreso un albaran y donde queda registrado en las columnas E, F y G de mi hoja salidas.

Necesito que el combobox solo muestre, en este caso el nº de pedido 978402, dejando sin mostrar el 978401 ya que se generó el albaran.

1 Respuesta

Respuesta
2

[Hola

Tomando en cuenta las celdas que mencionas yo usaría el evento "Initialize" del "Userform" y colocaría algo así:

Dim UltimaFila As Long
Dim Celda As Range
Let UltimaFila = Cells(Rows.Count, 4).End(xlUp).Row
For Each Celda In Range("D2:D" & UltimaFila)
    If Celda.Offset(0, 2) = "" Then
        ComboBox1.AddItem Celda.Value
    End If
Next Celda

De ser necesario solo adáptalo.

Abraham Valencia

Me siguen saliendo todos los nº de pedido.

Alguna idea??

Cambie el nombre del combobox por el que tengo en mi form.

[Hola nuevamente

La propuesta funcionará si se cumplen algunas cosas:

- Realmente tu número de pedido esté en la columna "D", de no ser así por lógica debes cambiar esta línea y colocar el número correspondiente de columna:

Let UltimaFila = Cells(Rows.Count, 4).End(xlUp).Row

Y también esta línea de no ser "D":

For Each Celda In Range("D2:D" & UltimaFila)

- Si la palabra "Albarán" está en la columna "F", de no ser así cambiar esta línea:

If Celda.Offset(0, 2) = "" Then

Obviamente ahí pongo 2 porque la referencia es primero "D" (4)  y luego dos celdas a la derecha, o sea "F".

- Debe usarse para cargar en el evento "Initialize", y no en otro que podría anular el primero. Ah, y segundo, del mismo modo si en algún otro evento se vuelve a cargar el Combobox, debe aplicarse lo mismo sugerido.

No olvides que sin ver exactamente qué y/o cómo lo has hecho es más complicado dar consejos más acertados.

Abraham Valencia

Si, tal cual lo explicas lo tengo en mi hoja.

¿

Podría pasarte el archivo y le pegas un vistazo?

Colócalo en un "Drive" y comparte por aquí el enlace. Borra la información que consideres no necesaria y que consideres privada.

Abraham Valencia

Aquí tienes:

https://drive.google.com/open?id=1CBKr9bRH4qE_eZs388938bf8BVsGVDPt 

Dejo un.txt con lo que tiene que hacer.

MUCHAS GRACIAS!

P.D. Toda la info del archivo es inventada., no hay nada de útil. Cuando ya esté terminado el archivo se empezará de cero.

[Hola nuevamente

En el evento "Enter" del "cbx_pedido" reemplaza la línea respectiva:

If Hoja9.Cells(Fila, 3) = "PEDIDO CLIENTE" And Hoja9.Cells(Fila, 5) = "" Then

Con eso basta.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas