Seleccionar opciones en CmbBx de un formulario y validar información para seguir el proceso

Felicitaciones a todos en todos estos días… me planteo terminar este trabajo y solicito su valioso apoyo. He probado varios códigos y no he logrado solución. La macro funciona correctamente, solo necesita adaptación. Este USERFORM1 lo llamo a través del desarrollador y desde la hoja que voy a seleccionar; así selecciono una opción del CmbBx1, Hoja; del 2, Proveedores; y del 3, Partida; con botón “Buscar” me regresa a los TxBx sus nombres para validar y continuar el proceso. . La adaptación que requiere es que al abrir el formulario pueda hacerlo desde la Hoja1, para evitar cambios de hoja, pues cuando así lo hago, el CmbBx2 no retorna al TxBx4 el nombre del proveedor. Adjunto la macro que realiza este proceso. El CmbBx1 y el 3 son con .AddItem “ ” Agradezco sus atenciones y Muchas gracias.

Private Sub CommandButton1_Click()   ‘

Application.ScreenUpdating = False

 For Each h In Sheets

      n = h.Name

 If UCase(h.Name) = UCase(ComboBox1) Then

 existe = True

 Exit For

 End If

 Next

 If existe = False Then

 MsgBox "La hoja seleccionada no existe", vbCritical, "SELECCIONAR OBRA"  validación

 Exit Sub

 ComboBox1.SetFocus

 End If

     Set h1 = Sheets(ComboBox1.Value) ' Identifica datos generales de la obra seleccionada

     h1.Unprotect

     TextBox1 = h1.Range("d3")   ' Obra

‘--------

     ' Busca la partida seleccionada En CbBx3 y coloca su nombre en TxBx5

     Set b = h1.Range("B:C").Find(What:=ComboBox3, LookAt:=xlWhole, LookIn:=xlValues)

       If b Is Nothing Then

          MsgBox "El dato no fue encontrado.", vbOKOnly + vbInformation, "AVISO"

          ComboBox1 = ""

          ComboBox1.SetFocus

        Exit Sub

    Else

       Set b = h1.Range("B:C").Find(What:=ComboBox3, LookAt:=xlWhole, LookIn:=xlValues)

       TextBox5 = h1.Range("C" & b.Row) ' OKK

'----------------------

'Se requiere Código para buscar el proveedor seleccionado en CmbBx2 que se localiza en la hoja 'seleccionada y repita su nombre en TxBx4 para validación.

'----------------------

   End Sub

1 respuesta

Respuesta
1

Para encontrar el proveedor, ya tienes identificada la hoja en h1, entonces:

    Set b = h1.Columns("A").Find(ComboBox2, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox4 = h1.Cells(b.Row, "A")
    End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas