Buscar
Como puedo hacer para buscar una cadena dentro de una columna en un msflexgrid
Gracias !!!
Gracias !!!
Saludos Sebastián
Lo que te presento es una búsqueda básica, puedes modificarlo para obtener mejores resultados:
por ejemplo cargo el flex con datos:
Private Sub Form_Load()
flex.TextMatrix(1, 3) = "RHCP"
flex.TextMatrix(2, 3) = "Oasis"
flex.TextMatrix(3, 3) = "Blink 182"
flex.TextMatrix(4, 3) = "Coldplay"
flex.TextMatrix(5, 3) = "etc"
flex.TextMatrix(6, 3) = "más etc"
End Sub
En un botón BUscar el sgte código;
Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean
Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub
Espero te sirva
Jhon
Lo que te presento es una búsqueda básica, puedes modificarlo para obtener mejores resultados:
por ejemplo cargo el flex con datos:
Private Sub Form_Load()
flex.TextMatrix(1, 3) = "RHCP"
flex.TextMatrix(2, 3) = "Oasis"
flex.TextMatrix(3, 3) = "Blink 182"
flex.TextMatrix(4, 3) = "Coldplay"
flex.TextMatrix(5, 3) = "etc"
flex.TextMatrix(6, 3) = "más etc"
End Sub
En un botón BUscar el sgte código;
Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean
Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub
Espero te sirva
Jhon
el codigo de jhon esta perfecto pero puede smejorar la velociadd de busqueda de la siguiente forma
Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean
Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto
flex.Row=flex.Rows-1
encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub
Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean
Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto
flex.Row=flex.Rows-1
encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub
