Jump to content
AARONI

uscar datos de Text Box y filtrar en combobox

Recommended Posts

Buenos tardes, necesito de su ayuda en lo siguiente, tengo una macro que tiene un formulario en que voy capturando un formato de visitas digito en un textbox una sucursal y en otros textbox me arroja la cadena y en otro la plaza hasta aqui todo bien 

lo que requiero es que cuando aparezca la plaza en el textbox se filtre el combobox con los operadores que correspoden a esa plaza en la plaza puede tener mas de un operador y que en un label me pueda decir cuantos operadores hay es decir que en el label aparezca operador 1 de x, miro la necesidad de optimizar como un combobox para que al buscar la plaza esta igual me traiga el primer operador  encontrado y al desplegar el combobox me traig la lista de los operadores de esa plaza, pero no he podido encontrar la solucion, me podrian ayudar  este problema cual seria la mejor opcion para optimizar mejor esta consulta,  les envio un archivo en donde al abrirlo aparece la base de datos con sus pestañas y en la pestaña catalogo en la columna N viene el catalogo de los operadores 

Me gustaria poder enviarles el archivo a algun correo y que me puedan apoyar me urge un poco 

Muchas Gracias.

Share this post


Link to post
Share on other sites

te explico es un formulario de captura el cual conforme vas capturando en el formulario te va motrando los datos en los demas textbox 

es decir la fecha , en el textbox sucursal al capturarla se ponen datos en el textbox cadena y en el texbox plaza 

lo que requiero es que cuando en el textbox plaza se visualice una plaza el combobox se filtren los datos con base a la plaza 

si el reloj tiene una falla que no he podido arreglar 

Share this post


Link to post
Share on other sites

Hola, 

Para empezar están mal puestos tus eventos, desde el TextBox Sucursal, que yo lo cambiaría por un ComboBox para solo seleccionar,  desde ahí que te modifique Cadena, Plaza y Operador. Ya que como lo tienes tienes primero tienes que pasar al siguiente control y salir de él para que se llene automáticamente.

Saludos.

P.D.: En un rato veo tu pregunta.

Share this post


Link to post
Share on other sites

Bueno viendo un poco más tu formulario, veo que esta mal estructurado... ya que primero va:

PLAZA ---> SUCURSAL

Ya que la Plaza tiene varias sucursales y no al revés. e igualmente, seria también mas recomendable un combobox.

PLAZA--->SUCURSAL--->CADENA--->OPERADOR

Piénsalo, seria lo lógico, pero cada quien trabaja como entiende mejor las cosas.

Saludos.

Share this post


Link to post
Share on other sites

esta estructurado de esa forma ya que asi el cliente al cual se le entrega el reporte asi lo requirio 

yo ahi no puedo hacer nada ya que econ base a los requerimientos del ejecutivo que lo solicito 

 

y como complemento te comento que uno de los moderadores dio una solucion con base a lo que requiero pero no logro adaptarlo 

te comparto el ejemplo de uno de los moderadores 

al escribir en el textbox y darle click a un boton se filtra el combobox

esa funcion es lo que requiero pero al cambiar el foco 

en el ejemplo que te adjunto es si lo checas es lo que requiero 

solo que al adaptarlo no me deja me marca que falta un objeto

GIRARDOT GRABAR SOLICITUDES BACK OFICINAS FACILIDAD OPERATIVA (1).zip

Share this post


Link to post
Share on other sites

Bueno por tu paciencia:

Vamos por partes.

Private Sub Plza_Change()
'NOTA: SIEMPRE DECLARA LAS VARIABLES, ES UNA BUENA COSTUMBRE.
Dim nFilaUltima As Long, Rango As Object, Celda As Range, n As Integer, Registro As Integer
    With Hoja1 'HACEMOS UN WITH PARA REFERIRNOS SIEMPRE A LA HOJA1
        nFilaUltima = .Range("B3").End(xlDown).Row 'BUSCAMOS LA ULTIMA FILA DE LA TABLA
        Me.Cmbx_Operador.Clear 'LIMPIAMOS EL COMBOBOX
        For Each Celda In .Range("E3:E" & nFilaUltima) 'FOR EACH PARA RECORRER TODO UN RANGO CON LA VERIABLE CELDA
            If Me.Plza = Celda.Value Then ' SI LO QUE HAY EN EL TEXTBOX PLZA ES IGUAL LO QUE VA CONTENIENDO LA VARIABLE CELDA.
                Registro = WorksheetFunction.CountIf(.Range(.Cells(3, "D"), .Cells(Celda.Row, "D")), Celda.Offset(0, -1)) 'CUENTA CUANTOS REGISTROS IGUALES HAY EN UN RANGO
                If Registro = 1 Then 'SI SOLO HAY UNO ENTONCES
                    Me.Cmbx_Operador.AddItem Celda.Offset(0, -1) 'AGREGALO AL COMBOBOX
                End If
            End If
        Next Celda
    End With
End Sub

Saludos.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5