Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/02/2008, 02:15
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 4 meses
Puntos: 37
Re: Buscar en columnas de Excel

Otra opción es abrir un recordset con los datos de la columna y hacer un recorrido por el mismo.

p.ej. Queremos buscar en la columna "B" (desde la fila 1 hasta la 20) de la hoja (Hoja1) en el Libro2.xls que se encuentra en el mismo directorio de la aplicación.

El dato a buscar, lo hemos escrito en un TextBox (Text1)

Código:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
With rs
    .ActiveConnection = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & _
        App.Path & "\Libro2.xls;Extended Properties=Excel 8.0;"
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .Open "Select * From [Hoja1$B1:B20]"
End With
Do Until rs.EOF
    If rs(0) = Text1.Text Then
        MsgBox "Encontrado en la fila " & rs.AbsolutePosition + 1
        ' sumamos 1 a la propiedad AbsolutePosition porque el recordset
        ' considera la primera fila como nombre de campo  
        Exit Do
    End If
    rs.MoveNext
Loop
If rs.EOF Then MsgBox "No se encontró"
Set rs = Nothing
Para que lo anterior funcione, tienes que marcar las referencias a ADO y la librería de Excel (la versión que tengas)