Este artigo é destinado a usuários que tenha certo nível de conhecimento em VBA, para poder aplicá-lo com eficiência, usaremos uma tecnologia de conexão a banco de dados desenvolvido pela Microsoft conhecida com ADO (Activex Data Access).

Mas antes de irmos para o finalmente o Banco de Dados do Access deve estar desenvolvido e com a Tabela sem Dados. Isso quer dizer que tudo tem que estar pronto antes de inserirmos uma linha de código no Excel / VBA.

Abra a Planilha que contém as Informações e abra o VBE (Visual Basic Editor), e Insira um novo Módulo, já com o módulo inserido vamos usar as referências que o ADO (Activex Data Access) necessita para funcionar. Siga os passos: No VBE (Visual Basic Editor) clique no Menu Ferramentas / Referências. Em Referências selecione as duas opções que estão descritas abaixo:

Microsoft Activex Data Objects X.X Library

Microsoft Activex Data Objects Recordset X.X Library

* Onde está X substitua por um Número.

Ficará igual à figura abaixo:


No Módulo faça essa rotina abaixo:

Sub Base()

Dim cn As ADODB.Connection ‘variável para base
Dim rs As ADODB.Recordset ‘variável para tabela
Dim r As Long ‘variável para o númerdo da linha na planilha

‘conectando ao banco de dados access

Set cn = New ADODB.Connection
cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data” &_
“Source=C:eduardobanco.mdb;”

‘abrindo a tabela do banco de dados

Set rs = New ADODB.Recordset
rs.Open “contatos”, cn, adOpenKeyset, adLockOptimistic, adCmdTable ‘ Todos os registros da tabela

‘número da linha que irá começar na planilha
r = 4

Do While Len(Range(“A” & r).Formula) > 0 ‘ repete enquanto a coluna a for maior que Zero

With rs
.AddNew ‘insere novo registro no banco de dados

‘adiciona valores para cada campo na tabela
.Fields(“nome”) = Range(“A” & r).Value
.Fields(“empresa”) = Range(“B” & r).Value
.Fields(“email”) = Range(“C” & r).Value
.Update ‘atualiza o novo registro
End With

r = r + 1 ‘próxima linha da planilha para o banco de dados
Loop

‘fecha a tabela
rs.Close
Set rs = Nothing

‘fecha o banco de dados
cn.Close
Set cn = Nothing

End Sub

Altere os Nomes de Campos, Tabelas, Pasta e Banco de Dados para os seus. Uma rotina que insere dados da Planilha no Banco de dados.

Experimente você também fazer seu Acesso à Banco de Dados.

Caso você tenha uma dica ou truque, envie para nós! [email protected].com.br
Por: FV

Comentários
Fabio Vianna
Siga-Me

Fabio Vianna

Modela planilhas deste 1994 e ministra treinamentos desde 1997.
Especialista em Modelagem Profissional de Planilhas, incluindo Dashboards no Excel.
Fabio Vianna
Siga-Me

Últimos posts por Fabio Vianna (exibir todos)

Optimization WordPress Plugins & Solutions by W3 EDGE