Interpretación de código VBA para consulta multicondicional en EXCEL
Establecer componentes ADO y conexiones de datos.
Atenuar cnn como el nuevo ADODB. Relación
Atenuar rs como nuevo ADODB. Conjunto de registros
Definir declaración de consulta
Atenuar strsql como cadena
Abra la conexión de la base de datos y establezca la fuente de datos en este libro de trabajo. Tenga en cuenta que esta es la versión 2003.
cnn. open " proveedor = Microsoft . jet . oledb . 4.0 ; propiedades extendidas = ' excel 8.0hdr = no ' ; fuente de datos = " ampActiveWorkbook. Nombre completo
Establezca la fuente de datos en la tabla de datos y seleccione Campo 1 ~ Campo 4. Se deben cumplir las condiciones: el valor del campo 1 es G2, el valor del campo 2 es H2 y el valor del campo 3 es I2.
Strsql = "seleccione f1, F2, F3, F4 de [datatable$] donde f 1 = " range(" G2 ") amp y f2 = " amp range(" H2 ") amp ;" y f3 = "ampRange("I2")&""
Abrir conjunto de registros ADO en modo de solo lectura.
rs. Abrir strsql, cnn, adOpenKeyset, adLockReadOnly.
Borre los datos en la columna A:E.
Borrar
Pegue el conjunto de registros calificado en /p>
Rango (" b5 "). Conjunto de registros ADO o DAO del conjunto de registros rs
A5 ingresa la fórmula: =row()-4 para obtener el número
Range("A5").Resize(. [B5].End(4).Row - 4,1). Fórmula 1C1 = "=ROW()-4"
Formato de columna a
Con rango("A4). ").Resize([B5]. End(4). Líneas 3, 5)
Color del borde
. Borders.ColorIndex = 5
Grosor del borde (Línea delgada)
Bordes(11). Peso = xlThin
Estilo de borde (Línea delgada continua)
.
Para i = 7 a 10
Establezca el borde séptimo al décimo en una línea gruesa p>
.Border(1). p>Siguiente I
Terminar con...
Cerrar el conjunto de registros
rs.Close
Borrar el conjunto de registros para liberarlo memoria.
Establecer rs=none
Cerrar conexión de datos
cnn
Borrar la conexión de datos para liberar memoria
Establecer cnn = Ninguno
Pantalla de actualización
Aplicar ScreenUpdating = True
Fin de declaración
Fin de conector