Tag Archives: ado

Importando dados do SQL Server para o Excel com VBA e ADO

Essa é uma pergunta que aparece quase sempre nos fóruns de Excel que frequento. O bom é que a própria Microsoft dá a resposta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Sub RetrieveSQLServerData()
' Cria a conexão.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection    ' Variável para armazenar a String de Conexão.
    Dim strConn As String
 
    'Informa o SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
 
    'Conecta à base de dados Pubs no servidor local.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
 
    'Usa autenticação integrada.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
 
    'Abre a conexão.
    cnPubs.Open strConn
 
    ' Cria o objeto Recordset.
    Dim rsPubs As ADODB.Recordset
    Set rsPubs = New ADODB.Recordset
 
    With rsPubs
        ' Associa a conexão.
        .ActiveConnection = cnPubs
        ' Extrai os dados.
        .Open "SELECT * FROM Authors"
        ' Coloca os dados na planilha.
        Plan1.Range("A1").CopyFromRecordset rsPubs
 
        ' Fecha a transação
        .Close
    End With
 
    ' Fecha conexão
    cnPubs.Close
    Set rsPubs = Nothing
    Set cnPubs = Nothing
 
End Sub

Como importar dados de Microsoft SQL Server em Microsoft Excel

Apenas para constar, segue o código fonte pronto para usar:Bom proveito!

Tomás Vásquez