Você está na página 1de 7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

VBA (Excel)Copiando dados entre planilhas


Neste artigo vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA para realizar
a seguinte tarefa :
Copiar dados entre planilhas distintas usando uma macro
uma aplicao simples que mostra aos iniciantes e interessados como automatizar tarefas no Microsoft Excel usando
a linguagem VBA. S isso.
O Visual Basic for Applications (VBA) uma implementao do Visual Basic da
Microsoft incorporada em todos os programas do Microsoft Office, bem como em
outras aplicaes da Microsoft, como o Visio, e que foi tambm incorporada pelo
menos parcialmente em outros programas de terceiros como o AutoCAD, Mathcad e
WordPerfect. Ele substitui e estende as capacidades de anteriormente existentes
linguagens de programao de macros especficas para as aplicaes e pode ser
usado para controlar a quase totalidade dos aspectos da aplicao anfitri,
incluindo a manipulao de aspectos do interface do usurio tais como menus e
barra das ferramentas e o trabalho com formulrios desenhados pelo usurio ou
com caixas de dilogo.
http://pt.wikipedia.org/wiki/Visual_Basic_for_Applications

Eu estou usando o Microsoft Office Excel 2007 e sistema operacional Windows 8, e portanto o cdigo deste artigo foi
testado somente nesta verso e ambiente.
Antes de prosseguir eu sugiro que voc leia os seguintes artigos da seo VBA do site Macoratti .net
VBA Preparando o ambiente para desenvolvimento com o Excel
Plula de VBA Tipos de Aplicao (VBAExcel)
VBA Criando um projeto no Excel
Os recursos usados no projeto deste artigo foram:
Microsoft Excel verso 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;

http://www.macoratti.net/15/04/vba_cdata1.htm

1/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

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

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:
http://www.macoratti.net/15/04/vba_cdata1.htm

2/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

Pronto , feito isso j podemos iniciar o desenvolvimento da aplicao VBA no Excel 2007.

Criando a planilha Excel e copiando dados entre planilhas


Abra ento o Excel 2007 , ser aberta uma planilha em branco. Clique ento no boto no canto superior a esquerda
para abrir o menu principal de opes;
Selecione a opo Salvar como e clique no item : Pasta de Trabalho Habilitada para Macro do Excel;

Em seguida informe o nome do arquivo : VBA_CopiandoDadosEntrePlanilhas


Ser aberta o arquivo Excel exibindo as trs planilhas padro: Plan1, Plan2 e Plan3;
Vamos inserir alguns dados na planilha Plan2 a partir da clula A1 conforme mostra a figura abaixo:

http://www.macoratti.net/15/04/vba_cdata1.htm

3/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

Os dados foram copiados da internet e representa a tabela dos 5 primeiros colocados do campeonato brasileiro de
futebol de 2014.
Nota: Voc pode usar qualquer dados na planilha este foi apenas um exemplo.
Dessa forma a planilha Plan2 ser a planilha origem a partir da qual desejamos copiar as informaes para a planilha
Plan1 a partir da clula A1.

Criando a macro para realizar a copia dos dados entre as planilhas


Com a planilha Excel aberta pressione as teclas ALT+F11. Se preferir clique no menu Desenvolvedor e a seguir na
opo Visual Basic.
Isso abrira o Editor Visual Basic; No editor Visual Basic clique no menu Inserir e a seguir em Modulo;

Um novo Mdulo chamado Modulo1 ser criado na rea de trabalho do Editor.


Insira o cdigo abaixo no mdulo criado :

Clique no boto Salvar e salve o mdulo com o nome : CopiarDadosEntrePlanilhas.


Nota : Poderamos ter usado o cdigo abaixo
na nossa macro:
http://www.macoratti.net/15/04/vba_cdata1.htm

4/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

Sub copiarDadosEntrePlanilhas()
Sheets("Plan2").Range("A1:J6").Copy
Destination:=Sheets("Plan1").Range("1")
End Sub
Acabamos de criar uma macro que ir ser usada para copiar os dados entre as planilhas Plan2 e Plan1.
Estamos usando o mtodo Range.Copy que copia o intervalo para o intervalo especificado ou para a rea de
Transferncia.
Como exemplo o cdigo a seguir copia os dados da clula A1:D4 de Plan1 para as clulas E5 de Plan2 :

Worksheets("Plan1").Range("A1:D4").Copy destination:=Worksheets("Plan2").Range("E5")
O que uma macro?
Uma macro uma coleo de comandos que voc pode aplicar com um nico clique. As macros podem automatizar
quase tudo que seja possvel executar no programa que voc est usando e at mesmo permitem fazer coisas que
talvez voc no soubesse que fossem possveis.
As macros so programao, mas para uslas, voc no precisa ser um desenvolvedor e nem mesmo ter conhecimento
de programao. A maioria das macros que voc pode criar nos programas do Office escrita em uma linguagem
chamada Microsoft Visual Basic for Applications, ou VBA.
Em muitos programas do Office, voc pode criar uma macro gravando uma srie de aes ou escrevendo a macro. Foi
isso que fizemos : escrevemos uma macro que ser usada para copiar dados.
Agora para usar a macro criada vamos retornar nossa planilha Excel.
Pressione ALT+F11 novamente, estando no editor Visual Basic, para retornar planilha Excel.
Usando a planilha Plan1 clique na guia Desenvolvedor e a seguir na opo Inserir e selecionando o controle de
formulrio Boto:

Aps selecionar o Boto coloqueo na planilha Excel. Fazendo isso de imediato ser aberta a janela atribuir macro,
exibindo a macro que criamos no Mdulo.
Selecione a macro CopiarDadosEntrePlanilhas e clique em OK;
Com isso atribumos a macro CopiarDadosEntrePlanilhas criada ao boto de comando da planilha:

http://www.macoratti.net/15/04/vba_cdata1.htm

5/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

A seguir selecione o boto e altere o nome de Boto 3 para Copiar Dados;

Pronto ! agora podemos abrir a planilha Excel e clicar no boto para realizar a cpia dos dados da planilha Plan2 para
a planilha Plan1 conforme abaixo:

Dessa forma mostramos como podemos usar cdigo VBA para realizar a cpia entre duas planilhas distintas no Excel
2007.
Pegue a planilha com o cdigo VBA aqui:

CopiandoDadosEntrePlanilhas.zip

Jesus lhes respondeu, e disse: A minha doutrina no minha, mas daquele que me enviou.
Se algum quiser fazer a vontade dele, pela mesma doutrina conhecer se ela de Deus, ou se eu falo de mim
mesmo.
Quem fala de si mesmo busca a sua prpria glria; mas o que busca a glria daquele que o enviou, esse
verdadeiro, e no h nele injustia.
Joo 7:1618
Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) :
clique e confira !
Quer migrar para o VB .NET ?
http://www.macoratti.net/15/04/vba_cdata1.htm

6/7

20/06/2015

VBA(Excel)Copiandodadosentreplanilhas

Veja mais sistemas completos para a plataforma .NET no Super DVD .NET ,
confira...
Curso Bsico VB .NET Vdeo Aulas
Quer aprender C# ??
Chegou o Super DVD C# com exclusivo material de suporte e vdeo aulas
com curso bsico sobre C#.
Curso C# Basico Video Aulas

Seo VB .NET do Site Macoratti.net


Super DVD .NET A sua porta de entrada na plataforma .NET
Super DVD Vdeo Aulas Vdeo Aula sobre VB .NET, ASP .NET e C#
Seo C# do site Macoratti.net
Super DVD C#
Super DVD Visual Basic
Curso Bsico VB .NET Vdeo Aulas
Curso C# Bsico Vdeo Aulas
macoratti YouTube
Macoratti.net | Facebook
VBA Cadastro de Clientes (Excel)
VBA Cadastrando clientes e enviando emails Macoratti.net
VBAIntegrando aplicativos Office Macoratti.net
VBA Agenda de Visitas (Excel) Macoratti.net
Viso geral do modelo de objeto Excel: http://msdn.microsoft.com/ptbr/library/wss56bz7.aspx
SeoVBA do Site
VBA Visual Basic for Aplications Macoratti.net
VBA Criando um formulrio de Login
seo VBA e VSTO Macoratti .NET
Importando dados de uma planilha Excel Macoratti.net
Excel Extrao automtica de dados Macoratti.net
VBA Criando um projeto no Excel Macoratti.net
VBA Controlando o Excel Macoratti.net
Jos Carlos Macoratti

http://www.macoratti.net/15/04/vba_cdata1.htm

7/7