.
Desde el final del post se puede descargar el ejemplo en forma gratuita sin ninguna restricción, el código se puede adaptar a cada necesidad, Aporta por favor para sostener el sitio si está dentro de tus posibilidades, desde ya muchas gracias.
Si te estás iniciando en la operación de Excel o requieres afirmar conocimientos, recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Una ventaja que tiene SQL es que no solo se puede buscar datos sino se puede insertar datos, modificar los mismos, como así también usar criterios complejos para el filtro de datos acá tienes más ejemplos que muestran como se usa SQL en Excel.
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también
Como crear una factura con excel, guardarla y enviarla por mail automáticamente
Como enviar mail con archivo Excel y PDF mediante Outlook con Excel
Como hacer un link o hiperlink a google maps con Excel
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
En el ejemplo se debe ingresar el número a buscar en la celda B1, la macro buscará en la columna A de la hoja «URL MACRO EJEMPLOS» el número ingresado en la celda B1, escribiendo los registros asociados de las distintas columnas en la fila 4.
Si se requiere buscar con el método Find se presionara el primero botón, el cual ejecuta para buscar el dato ingresado en la celda B1 en la Columna A de la hoja «URL MACRO EJEMPLOS», con el siguiente código:
Código que se inserta en un módulo
Sub BuscarMetodoFind()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String
Set a = Sheets(«URL MACRO EJEMPLOS»)
pf = 2
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
r = «A» & pf & «:A» & uf
busco = Cells(1, «B»)
Set codigo = a.Range(r).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)If Not codigo Is Nothing Then
Cells(4, «A») = a.Cells(codigo.Row, 1)
Cells(4, «B») = a.Cells(codigo.Row, 2)
Cells(4, «C») = a.Cells(codigo.Row, 3)
Cells(4, «D») = a.Cells(codigo.Row, 4)
Cells(4, «E») = a.Cells(codigo.Row, 5)
Cells(4, «F») = a.Cells(codigo.Row, 6)
Else
Range(«4:4»).Clear
Cells(4, «A») = «No se encontraron registros en la base de datos»
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub FiltroSQLExcel()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ctl As Object
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
On Error Resume Next
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set a = Sheets(«Hoja1»)
Set b = Sheets(«URL MACRO EJEMPLOS»)
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 12.0;HDR=Yes;»»»
sql = «SELECT * FROM [» & «URL MACRO EJEMPLOS$» & «] WHERE » & b.Range(«A1″) & » LIKE » & a.Range(«B1″) & » ORDER BY N ASC»
Set rs = cn.Execute(sql)
a.Cells(4, 1).CopyFromRecordset Data:=rs
Set rs = Nothing
cn.Close
Set cn = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sub limpiar()
Range(«A4:F4»).ClearContents
End Sub
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String
Set a = Sheets(«URL MACRO EJEMPLOS»)
pf = 2
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
r = «A» & pf & «:A» & uf
busco = Cells(1, «B»)
Set codigo = a.Range(r).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
Cells(4, «A») = a.Cells(codigo.Row, 1)
Cells(4, «B») = a.Cells(codigo.Row, 2)
Cells(4, «C») = a.Cells(codigo.Row, 3)
Cells(4, «D») = a.Cells(codigo.Row, 4)
Cells(4, «E») = a.Cells(codigo.Row, 5)
Cells(4, «F») = a.Cells(codigo.Row, 6)
Else
Range(«4:4»).Clear
Cells(4, «A») = «No se encontraron registros en la base de datos»
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub FiltroSQLExcel()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ctl As Object
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
On Error Resume Next
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set a = Sheets(«Hoja1»)
Set b = Sheets(«URL MACRO EJEMPLOS»)
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 12.0;HDR=Yes;»»»
sql = «SELECT * FROM [» & «URL MACRO EJEMPLOS$» & «] WHERE » & b.Range(«A1″) & » LIKE » & a.Range(«B1″) & » ORDER BY N ASC»
Set rs = cn.Execute(sql)
a.Cells(4, 1).CopyFromRecordset Data:=rs
Set rs = Nothing
cn.Close
Set cn = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sub limpiar()
Range(«A4:F4»).ClearContents
End Sub
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends