Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/07/2014, 11:09
JoaoM
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Agregar nueva opcion de buisqueda

Gracias Triby. Muy amable de tu parte tomares tu tiempo para llegar a un buen término, teniendo alguien como yo que poco o casi nada se de estos menesteres

Estoy adaptándolo porque no existe botón para validar la búsqueda. La búsqueda es según se va escribiendo en el TextBox (Buscar) va apareciendo en el ListBox (lista) las líneas contentivas de lo que se va escribiendo, luego selecciono del ListBox (lista) la línea que deseo

Estoy tratando de adpaptarlo en el evento
Código:
Private Sub FiltrarPor_Change()
    buscar_Change
    Buscar.value = ""
    Buscar.SetFocus
End Sub
Porque en el evento Private Sub buscar_Change() no encuentro donde colocarlo sin que me mande ese mensaje al abrir el form

Voy probando en el evento de arriba FiltrarPor_Change.

Te dejo todo el código del que hace parte la búsqueda.

Código:
Private Sub FiltrarPor_Change()
    buscar_Change
    Buscar.value = ""
    Buscar.SetFocus
End Sub

Private Sub buscar_Change()
    Application.ScreenUpdating = False
    lista.RowSource = ""
    Sheets("Clientes").Range("A:G").Copy Sheets("Filtro").Range("A1")
    Sheets("Filtro").Range("A2:G2").Insert Shift:=xlDown
    Sheets("Filtro").Range("B2:G2") = ""
    Sheets("Filtro").Range("A2") = Buscar
    
    If FiltrarPor.ListIndex = 1 Then 'Buscar por nombre
       Sheets("Filtro").Range("A2") = ""
       Sheets("Filtro").Range("B2") = Buscar
    End If
    
    If FiltrarPor.ListIndex = 2 Then 'Buscar por CIUDAD
       Sheets("Filtro").Range("A2") = ""
       Sheets("Filtro").Range("B2") = ""
       Sheets("Filtro").Range("D2") = Buscar
    End If
    
    Sheets("Filtro").Range("A1:G22").AdvancedFilter _
                     Action:=xlFilterCopy, _
                     CriteriaRange:=Sheets("Filtro").Range("A1:G2"), _
                     CopyToRange:=Sheets("Filtro").Range("H1:N22")
    Sheets("Filtro").Rows(2).Delete
    fila = Sheets("Filtro").Range("H" & Rows.Count).End(xlUp).Row
    If fila > 1 Then lista.RowSource = "Filtro!H2:N" & fila
    Application.ScreenUpdating = True
End Sub
No me voy a complicar mucho, si da da si no va a quedar sin mensage tal como estaba
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Última edición por JoaoM; 30/07/2014 a las 11:23