IMPORTANDO DADOS DA PRÓPRIA PLANILHA COM SQL

 Tópico anterior Próximo tópico Novo tópico

IMPORTANDO DADOS DA PRÓPRIA PLANILHA COM SQL

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#485169 - 01/11/2018 20:22:22

IVANPI
GUAPIARA
Cadast. em:Janeiro/2017


 Anexos estao visíveis somente para usuários registrados

Boa noite caros colegas!

Eu tenho uma planilha de Excel com duas abas: uma aba de dados tabulados e normalizados chamada "ORIGEM" e outra aba em branco que se chama "DESTINO".

Do que necessito, e para nível de aprendizagem, é uma instrução SQL, no qual eu possa importar todos os dados da aba ORIGEM e jogar na aba DESTINO. Eu tentei com o código abaixo:

Option Explicit

'As variáries
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Public i As Long
Public sql As String
Public ws As Worksheet


'Para conectar a planilha
Public Sub ConectarPlan()
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    
    cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & ThisWorkbook.Path & "\PLANILHA TESTE 2019.xlsm;" & _
    "Extend Properties=""Excel 12.0;HDR=Yes"";"
End Sub

'para desconectar da planiha
Public Sub DesconectarPlan()
    rs.Close
    cn.Close
    
    Set rs = Nothing
    Set cn = Nothing
End Sub

'Para importar os dados
Public Sub Importar_Pendentes()
    ConectarPlan
    
    sql = "SELECT * FROM [DESTINO$]"
    rs.Open sql, cn, adOpenStatic, adLockReadOnly, adCmdText
    Set ws = shtAlunosPendentes
    
    With ws
        .Select
        .Cells.Clear
        .Range("A1").Select
    End With
    
    For i = 0 To rs.Fields.Count - 1
        Cells(1, i + 1) = rs.Fields(i).Name
    Next i

    Range("A2").CopyFromRecordset rs
    Cells.Columns.AutoFit
    
    DesconectarPlan

End Sub

Mas aparece a mensagem de erro no anexo.

O que acho que ocorre, é que preciso achar a aba ORIGEM, em algum lugar do código, mas não sei como fazê-lo.

Alguém poderia dar uma ajuda e uma luz para mais pesquisas. Sei que poderia usar o AdvancedFilter no VBA, mas queria aprender essa técnica. :)

Desde já muito agradecido.

Atte.





 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário