Estoy realizando una aplicación en excel en la cual desde un TextBox escribo el elemento que quiero buscar en la base de datos. Según los caracteres que escribes mira en otra hoja (Base de Datos) toda una columna (10000 elementos) buscando coincidencias exactas. Todo funciona con el código adjunto lo que ocurre es que es lento ya que para cada carácter escrito realiza una búsqueda completa. ¿Tenéis alguna idea para darle mayor velocidad a la búsqueda? Interrumpir la búsqueda para coger el nuevo carácter escrito y comenzar la búsqueda...
Private Sub TextBox_Producto_Change() Dim Producto As String Dim StringCoincidir As String Dim StringEscrito As String Dim lngResultado As Double
Sheets("Productos").Select Range("A1").Select i = 0 ListaBusqueda.Clear CommandButton_Insertar.Enabled = False Do If ActiveCell.Offset(i, 0).Value = vacio Then Exit Do Else Producto = ActiveCell.Offset(i, 0).Text StringCoincidir = Left(Producto, TextBox_Producto.TextLength) StringCoincidir = StrConv(StringCoincidir, vbLowerCase) StringEscrito = StrConv(TextBox_Producto.Text, vbLowerCase)
If (StringCoincidir = StringEscrito) Then ListaBusqueda.AddItem [Producto] End If End If i = i + 1 Loop End Sub[/PHP]
Muchas gracias.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenos días,
Estoy realizando una aplicación en excel en la cual desde un TextBox escribo el elemento que quiero buscar en la base de datos. Según los caracteres que escribes mira en otra hoja (Base de Datos) toda una columna (10000 elementos) buscando coincidencias exactas. Todo funciona con el código adjunto lo que ocurre es que es lento ya que para cada carácter escrito realiza una búsqueda completa. ¿Tenéis alguna idea para darle mayor velocidad a la búsqueda? Interrumpir la búsqueda para coger el nuevo carácter escrito y comenzar la búsqueda...
Muchas gracias.