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