Jump to content
Sign in to follow this  
Visor

ANSWERED Búsqueda combobox no funciona en un item

Recommended Posts

Saludos amigos del foro

He realizado una instrucción de búsqueda con combobox. La búsqueda la realiza en la columna1. Los datos de esta columna se cargan en un combobox. En el evento change he puesto codigo para que busque en la columna A y muestre el resultado en los labels correspondientes dispuestos en el userform. La búsqueda funciona en todos los items de la columna excepto en una. No comprendo como es que las anteriores y las posteriores si funcionan

Solicito que me puedan apoyar revisando el archivo que adjunto para encontrar el problema.

Agradezco anticipadamente su colaboración,

Busqueda con combobox.xlsm

Share this post


Link to post
Share on other sites

Hola Visor,

La verdad cosa rara que no funcionara con esa fila. Pero sí le cambias el texto, sí funciona. Entonces el problema es el texto.Elimina el texto y escribelo de nuevo. He hecho la prueba y funciona despues.

Share this post


Link to post
Share on other sites

No utilizar un ID tiene estos inconveniente, prueba así:

Set busco = ActiveSheet.Range("A:A").Find(Trim(cbxActividades.Text), LookIn:=xlValues, lookat:=xlPart)

Otra forma podría ser:

Set busco = ActiveSheet.Range("A:A").Find(cbxActividades.Text, LookIn:=xlValues, lookat:=xlWhole)

 

Edited by Antoni

Share this post


Link to post
Share on other sites

Sí,.... ha empezado a funcionar ,....ya sea con lo  de reemplazar con  =xlPart  que me encuentra exactamente lo que está en las celdas, o manejando espacios con lo de trim.

Es cuestion de probar las alternativas. 

No sabria como hacer para que las personas acá, que no son fácilmente amigables con los códigos manejen un ID, sobre todo cuando cambian cada vez de actividad.

Me ha funcionado bien con tu ayuda, quedo muy agradecido.

Se puede cerrar, el tema está solucionado.

Edited by Visor

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Sign in to follow this  



  • Posts

    • Buenos Días: Como programo la macro para que recorra la columna B y si encuentra la fecha de hoy tome la cantidad de la columna pequeña y se la sume a la cantidad de la columna mediana logicamente sobre la misma fila. El resultado deberá ser el nuevo dato de la columna mediana y debera borrar el dato de la cantidad en la columna pequeña PRUEBA.xlsx
    • Buenos días compañer@s, espero que estéis tod@s bien, a ver si me podéis ayudar. He creado una medida que me suman todas las categorías de las ventas [TOTAL_VENTAS], doce campos en total. Con ella he creados dos medidas más: VENTAS_AÑO_ACTUAL=CALCULATE([TOTAL_VENTAS];DATOS_BP[ANYO]=2020) VENTAS_AÑO_ANTERIOR=CALCULATE([TOTAL_VENTAS];DATOS_BP[ANYO]=2019) Hasta ahí todo bien. Mi pregunta es, cómo puedo hacer para que la medida calcule el año en curso y el año anterior sin necesidad de tener que poner 2020 y 2019?. Muchas gracias como siempre Saludos  
    • Así funciona: Sub Crear() Application.ScreenUpdating = False If Trim([C9]) = "" Then MsgBox "*** Cédula en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([E9]) = "" Then MsgBox "*** Riesgo en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([C11]) = "" Then MsgBox "*** Nombre en blanco ***", vbCritical, "Alerta" Exit Sub End If Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Datos\01.Adeudos.accdb" .Open End With With Sheets("Registro") Set Rs = New ADODB.Recordset Sql = "SELECT Count(*) FROM pen WHERE [Num Id]='" & .Range("C9") & "'" Rs.Open Sql, Cnn, 3, 3, adCmdText Datos = Rs.GetRows If Datos(0, 0) > 0 Then MsgBox "El registro ya existe en la base de datos!!!", vbCritical, "SACI" Else Sql = "INSERT INTO pen ([Num Id], Nombre, Riesgo, [Monto Caso], Moroso, [Nun_Patrono], [Nom_Patrono]) " Sql = Sql & "VALUES ('" & .Range("C9") & "', " & _ "'" & .Range("C11") & "', " & _ "'" & .Range("E9") & "', " & _ "'" & .Range("G9") & "', " & _ "'" & .Range("G11") & "', " & _ "'" & .Range("C13") & "', " & _ "'" & .Range("E13") & "' )" MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" A_ingesarDatos = True End If End With Cnn.Execute (Sql) Cnn.Close Set Cnn = Nothing End Sub  
    • Hola buenas a todos, me presento como nuevo usuario, saludos a todos !!
    • Hacer eso con "una formula" se puede con Office 365. Si no tiene Office 365 el adjunto que le comparto NO le va a servir y deberá esperar alguna otra propuesta.   Filtrar con función.xlsx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy