Você está na página 1de 7

20/06/2015

VBAAcessandooAccess2007comExcel

VBAAcessandooAccess2007comoExcel
Vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA atravs da criao de um programa para
acessar um banco de dados Access 2007 e exibir os registros de uma tabela na planilha Excel.
uma aplicao simples que mostra aos iniciantes e interessados automatizar tarefas no Microsoft Excel usando a linguagem VBA.
S isso.
Os recursos usados no projeto deste artigo foram:
Microsoft Excel verso 2007;
Microsoft Access 2007;
Conhecimentos bsicos sobre planilhas , clulas, e Visual Basic;
Antes de iniciar temos que realizar duas configuraes no Microsoft Excel 2007:
Ativar a guia do desenvolvedor;
Habilitar a execuo de macros;
Obs: A necessidade de habilitar a execuo de macros que por padro, o Excel coloca um nvel de segurana mais elevado pois
cdigos maliciosos podem ser executados em scripts atravs de macros no Excel.
Vamos ativar a guia do desenvolvedor e logo em seguida habilitar a execuo de macros.
Para ativar a guia do desenvolvedor (se ainda no estiver ativa) siga os seguintes passos:
Abra o Excel 2007 e ative o Menu principal de opes clicando no boto superior a esquerda, conforme a figura abaixo;

A seguir clique na guia Opes do Excel para abrir a janela Opes do Excel;

http://www.macoratti.net/11/06/vba_acc1.htm

1/7

20/06/2015

VBAAcessandooAccess2007comExcel

Nesta janela, selecione o item Mais Usados e a seguir marque o item Mostrar guia Desenvolvedor na Faixa de Opes e
clique no boto OK;
No menu do Excel selecione a guia do Desenvolvedor e em seguida clique em Segurana de Macro;

Na janela Central de Confiabilidade selecione a opo Configuraes de Macro e marque o item para habilitar todas as macros
conforme a figura abaixo:

Pronto , feito isso j podemos iniciar o desenvolvimento da aplicao VBA no Excel 2007.
Abra ento o Excel 2007 , ser aberta uma planilha em branco.
Clique no menu Desenvolvedor e a seguir no submenu Inserir para abrir a caixa de controles de Formulrio;
Selecione o primeiro Item da caixa Boto e a seguir com o mouse desenhe o boto em um local da planilha na qual voc deseja
que o boto seja exibido;
http://www.macoratti.net/11/06/vba_acc1.htm

2/7

20/06/2015

VBAAcessandooAccess2007comExcel

Ao desenhar o boto ser aberto a caixa Atribuir Macro onde vamos definir o nome de uma macro que iremos criar no evento do
boto;
Definimos ao evento Click do boto a rotina AcessaMDB que iremos criar me seguida;

Antes de espiar o cdigo Visual Basic gerado selecione o boto e clique com boto direito do mouse e no menu suspenso selecione
Editar Texto e altere o texto do boto para Acessar Dados;

http://www.macoratti.net/11/06/vba_acc1.htm

3/7

20/06/2015

VBAAcessandooAccess2007comExcel

Agora clique no submenu Visual Basic para abrir a janela do editor de Cdigo:

Com a janela do editor Microsoft Visual Basic aberta podemos visualizar o cdigo do Modulo1 que mostra a rotina acessaMDB
atribuda ao evento Click do boto;

Vamos incluir um novo Modulo e para isso clique com o boto direito do mouse sobre a Pasta Mdulos e selecione as opes
Inserir>Mdulo;

http://www.macoratti.net/11/06/vba_acc1.htm

4/7

20/06/2015

VBAAcessandooAccess2007comExcel

Vamos aceitar o nome Modulo2 dado por padro ao novo mdulo e a seguir definir a rotina AcessaMDB() conforme o cdigo abaixo
neste mdulo:

Este cdigo usa a ADO para acessar o banco de dados criando as variveis objeto rs do tipo Recordset e cn do tipo Connection;
Aps abrir a conexo usando a string de conexo : "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=c:\dados\TesteAccess2007.accdb;Persist Security Info=False"
Geramos o Recordset usando a instruo SQL Select * from Teste onde Teste o nome da tabela;
Em seguida a linha de cdigo: ActiveWorkbook.Sheets("Plan1").Cells(1, 1).CopyFromRecordset rs
Copia os dados da tabela para a planilha Plan1 a partir da clula(1,1).
Aps isso clique cone

para Salvar o cdigo e retorne ao Excel clicando no cone

do mesmo no menu da janela de cdigo.

Eu criei um banco de dados chamado TesteAccess2007.accdb no Access 2007 e o coloquei na basta c:\dados;
Neste banco de dados eu criei uma tabela chamada Teste com os seguintes dados:

http://www.macoratti.net/11/06/vba_acc1.htm

5/7

20/06/2015

VBAAcessandooAccess2007comExcel

Nosso objetivo acessar a tabela Teste e copiar os dados da tabela para planilha a partir a clulas 1,1;
Abrindo a planilha no Excel iremos ver a planilha vazia o boto de comando :

Clicando no boto de comando iremos chamar a rotina acessaMDB que ir copiar os dados da tabela Teste para a planilha:

Para salvar a sua planilha clique no boto Salvar Como e selecione Pasta de Trabalho Habilitada para Macros no Excel:

http://www.macoratti.net/11/06/vba_acc1.htm

6/7

20/06/2015

VBAAcessandooAccess2007comExcel

E dessa forma usando VBA vimos como acessar um banco de dados Access 2007 usando o Excel 2007 e copiar os dados de uma
tabela para o Excel.
Pegue o projeto completo aqui: AcessoAccess2007_VBA.zip (Obs: O banco de dados voc mesmo pode criar)
Eu sei apenas Visual Basic for Applications (VBA), mas eu gosto...
"Em verdade , em verdade vos digo que vem a hora, e agora , em que os mortos ouviro a voz do Filho de Deus, e os que a
ouvirem vivero."(Joo5:25)
Referncias:
VBA Cadastro de Clientes (Excel)
VB .NET Incluindo uma tabela do Word em um DataGridView
SeoVBA do Site
Jos Carlos Macoratti

http://www.macoratti.net/11/06/vba_acc1.htm

7/7

Você também pode gostar