Como localizar, de entre varias hojas, una variable o “Proveedor” para realizar aplicaciones sin estar en su hoja respectiva

De nuevo por tu apoyo para casi finalizar…te describo el programa… tengo: 1°.- Un formulario en el que se captura “Datos generales de la Obra” (seleccionada) van al Rango (C2:M6), y en forma automática, además, inserta vertical una lista de “Conceptos de Gasto” al Rango “B14:C65”; 2°.- Otro formulario captura e inserta proveedores y sus datos generales, de esa obra”, al, Rango “A72:F85”; y 3°.- Formulario.- Para capturar el num de factura e importe y mandarlo a la partida o concepto de gasto, de la obra seleccionada en CbBx, y a la vez, al proveedor seleccionado, en este ultimo se inserta además, de la misma cantidad pagada, fecha y el núm de fact.

Todas las acciones se realizan de sus respectivos formularios posicionados en la hoja1 y sin movimiento de pantalla, es decir, se localiza “Obra”, y su “Partida” seleccionada; se hacen aplicaciones, etc, solo el formulario numero 3 al buscar el proveedor en su CbBx, este aparece en blanco, pero esto sí sucede solo si se está posicionado en la hoja respectiva. Solicito tu apoyo para que cuando se seleccione la obra se pueda seleccionar también el proveedor y hacer su aplicación al igual que a la partida normalmente. (La lista de proveedores se encuentra en cada hoja y son distintos).

1 Respuesta

Respuesta
1

Envíame tu archivo con los formulario, me dices en cuál formulario está el combo del proveedor.

Te adelanto para que puedas consultar el proveedor, no utilices seleccionar la hoja. Puedes hacerlo así

combobox1.rowsource = "hojaproveedores!A1:A100"

De esa forma no importa en cuál hoja te encuentres siempre va a cargar los proveedores de la hoja "hojaproveedoeres"

Lo que te puse es un ejemplo, tienes que cambiar "hojaproveedores" por el nombre de tu hoja y "A1:A100" por el rango en donde se encuentran los proveedores.

Este es el código para agregar los proveedores, dependiendo de la hoja "Obra" que selecciones.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Set h = Sheets(ComboBox1.Value)
    Set b = h.Range("A:A").Find("PROVEEDORES", lookat:=xlWhole)
    If Not b Is Nothing Then
        For i = b.Row + 1 To h.Range("A" & Rows.Count).End(xlUp).Row
            ComboBox2.AddItem h.Cells(i, "A")
        Next
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas