Importar dados do Access para Excel (ADO) usando VBA no Microsoft Excel

Anonim

Com o procedimento abaixo, você pode importar dados de uma tabela do Access para uma planilha.

Sub ADOImportFromAccessTable (DBFullName As String, _ TableName As String, TargetRange As Range) 'Exemplo: ADOImportFromAccessTable "C: \ FolderName \ DataBaseName.mdb", _ "TableName", Range ("C1") Dim cn As ADODB.Connection, rs Como ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) 'abre o banco de dados Set cn = New ADODB.Connection cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & _ DBFullName & ";" Definir rs = Novo ADODB.Recordset Com rs 'abrir o conjunto de registros .Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable' all records '.Open "SELECT * FROM" & TableName & _ "WHERE [FieldName] =' MyCriteria '", cn,,, adCmdText 'registra RS2WS rs, TargetRange' grava dados do conjunto de registros na planilha '' abordagem opcional para Excel 2000 ou posterior (RS2WS não é necessário) 'Para intColIndex = 0 Para rs.Fields.Count - 1' os nomes dos campos 'TargetRange.Offset (0, intColIndex) .Value = rs.Fields (intColIndex) .Name' Next 'TargetRange.Offset (1, 0) .CopyFromRecordset rs' os dados do conjunto de registros End With rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub

Os exemplos de macro pressupõem que seu projeto VBA adicionou uma referência à biblioteca de objetos ADO.
Você pode fazer isso de dentro do VBE selecionando o menu Ferramentas, Referências e selecionando Microsoft
Biblioteca de objetos ActiveX Data Objects x.x.
Use ADO se você puder escolher entre ADO e DAO para importação ou exportação de dados.