¿Cómo llenar listbox desde excel con datos de access con rowsource?
¿Existe alguna forma de llenar el listbox que se encuentre en excel pero a través de un rowsource? Ya que tengo una base de datos en access con 100 mil productos y mediante un loop y additem se vuelve muy lento. Tengo un buscador en access que llena un listbox pero a través de rowsource y es muy rápido. Lo único que pude conseguir por el momento es copiar el recordset en una celda y desde las celdas pasarlo al listbox de excel, pero no es la solución prolija y merma el rendimiento.
Dejo el código
Private Sub CommandButton1_Click()
Dim Base As String
Dim Sql As String
Dim rscopy As String
Dim Conexion As String
Conexion = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE =" & "E:\Dropbox\MIS PROGRAMAS\ACCES\Buscador de Precios 64 bits 9-4-19.accdb" & ";PERSIST SECURITY INFO FALSE;"
uf2 = Sheets("ACCES").Range("I" & Rows.Count).End(xlUp).Row
Sheets("ACCES").Range("B11:I" & uf2).Clear
'LLAMAMOS AL OBJETO ADO
Set cn = New ADODB.Connection
'ABRIMOS LA CONEXION
cn.Open Conexion
'CREAMOS LA CONSULTA
Set Rs = New ADODB.Recordset
With Rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
'Consulta = Consulta & " WHERE " & Me.cmbCampo & " Like '*" & Me.txtBusqueda.Text & "*'"
'Sql = "SELECT * FROM Personas where Descripción like " & "'%" & Range("D6") & "%'"
'Like Replace("'%" & UCase(txtBusqueda.Value) & "%'", " ", "%") And
'Sql = "SELECT * FROM Personas where Descripción like " & "'%" & txtBusqueda & "%'"
Sql = "SELECT * FROM Personas where Descripción like " & Replace("'%" & UCase(txtBusqueda.Value) & "%'", " ", "%")
Rs.Open Sql, Conexion
Range("B11").CopyFromRecordset Rs
uf = Sheets("ACCES").Range("I" & Rows.Count).End(xlUp).Row
Me.Lista.RowSource = "ACCES!B11:I" & uf
cn.Close
Set Rs = Nothing
Set cn = Nothing
End Sub