
ACTIVAR LA CELDA DEL REGISTRO ELEGIDO EN LISTBOX
Publicado por Mevo (1 intervención) el 10/09/2016 00:36:53
Mi consulta es la siguiente.
Tengo un formulario de búsqueda que funciona por medio de un listbox que sirve de intermediario para mostrar los items de la base de datos de excel, por medio de un textbox y commandbutton se realiza el filtrado por decirle así.
Quiero lograr que cuando se seleccione el ítem resultado de la búsqueda en el listbox a su vez el mismo dato sea buscado en la base de datos y lo seleccione el dato exacto para permitir eliminar la fila entera. (Tomando en cuenta que no hay repetidos en la base de datos) ya que se filtrara por código que es un numero único en cada caso-. Me es urgente ya que dependo de esto para avanzar a otro paso en el programa que diseño- Mis datos comienzan en la celda C8.
Saludos,
Mevo
CON ESTE CODIGO HAGO EL FILTRO EN EL LISTBOX
On Error GoTo Errores
If Me.TextBox1.Value = "" Then Exit Sub
Me.ListBox1.Clear
Me.TextBox1.SetFocus
j = 3 'Columna de Datos Inicial
Filas = Range("C8").CurrentRegion.Rows.Count
For i = 8 To Filas 'Fila de Datos Inicial
If LCase(Cells(i, j).Offset(0, 1).Value) Like "*" & LCase(Me.TextBox1.Value) & "*" Then 'Movilizarse hacia derecha en hoja
Me.ListBox1.AddItem Cells(i, j)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, j).Offset(0, 4)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, j).Offset(0, 5)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, j).Offset(0, 6)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, j).Offset(0, 7)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = Cells(i, j).Offset(0, 8)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = Cells(i, j).Offset(0, 9)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 10) = Cells(i, j).Offset(0, 10)
Else
End If
Next i
Exit Sub
Errores:
MsgBox "No se encuentra similitudes", vbExclamation, ""
End Sub
E INTENTO QUE SE ACTIVE EL VALOR ENCONTRADO Y SELECCIONADO CON ESTE CODIGO PERO NO ME FUNCIONA SIEMPRE ME MUESTRA LA PRIMER FILA
Range("a2").Activate
Cuenta = Me.ListBox1.ListCount
For i = 0 To Cuenta - 1
If Me.ListBox1.Selected(i) Then
'MsgBox Me.ListBox1.List(i)
VALOR = Me.ListBox1.List(i)
Sheets("MAESTRO DE EMPLEADOS").Range("A2:A18").Find(What:=VALOR, LookAt:=xlWhole, After:=ActiveCell).Activate
End If
Next i
Tengo un formulario de búsqueda que funciona por medio de un listbox que sirve de intermediario para mostrar los items de la base de datos de excel, por medio de un textbox y commandbutton se realiza el filtrado por decirle así.
Quiero lograr que cuando se seleccione el ítem resultado de la búsqueda en el listbox a su vez el mismo dato sea buscado en la base de datos y lo seleccione el dato exacto para permitir eliminar la fila entera. (Tomando en cuenta que no hay repetidos en la base de datos) ya que se filtrara por código que es un numero único en cada caso-. Me es urgente ya que dependo de esto para avanzar a otro paso en el programa que diseño- Mis datos comienzan en la celda C8.
Saludos,
Mevo
CON ESTE CODIGO HAGO EL FILTRO EN EL LISTBOX
On Error GoTo Errores
If Me.TextBox1.Value = "" Then Exit Sub
Me.ListBox1.Clear
Me.TextBox1.SetFocus
j = 3 'Columna de Datos Inicial
Filas = Range("C8").CurrentRegion.Rows.Count
For i = 8 To Filas 'Fila de Datos Inicial
If LCase(Cells(i, j).Offset(0, 1).Value) Like "*" & LCase(Me.TextBox1.Value) & "*" Then 'Movilizarse hacia derecha en hoja
Me.ListBox1.AddItem Cells(i, j)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, j).Offset(0, 4)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, j).Offset(0, 5)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, j).Offset(0, 6)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, j).Offset(0, 7)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = Cells(i, j).Offset(0, 8)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = Cells(i, j).Offset(0, 9)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 10) = Cells(i, j).Offset(0, 10)
Else
End If
Next i
Exit Sub
Errores:
MsgBox "No se encuentra similitudes", vbExclamation, ""
End Sub
E INTENTO QUE SE ACTIVE EL VALOR ENCONTRADO Y SELECCIONADO CON ESTE CODIGO PERO NO ME FUNCIONA SIEMPRE ME MUESTRA LA PRIMER FILA
Range("a2").Activate
Cuenta = Me.ListBox1.ListCount
For i = 0 To Cuenta - 1
If Me.ListBox1.Selected(i) Then
'MsgBox Me.ListBox1.List(i)
VALOR = Me.ListBox1.List(i)
Sheets("MAESTRO DE EMPLEADOS").Range("A2:A18").Find(What:=VALOR, LookAt:=xlWhole, After:=ActiveCell).Activate
End If
Next i
Valora esta pregunta


0