vba (excel) - copiando dados entre planilhas

7

Click here to load reader

Upload: iza-monteiro

Post on 05-Nov-2015

53 views

Category:

Documents


31 download

DESCRIPTION

VBA (Excel) - Copiando Dados Entre Planilhas

TRANSCRIPT

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    VBA (Excel)Copiando dados entre planilhas

    Neste artigo vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA para realizara 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 usandoa linguagem VBA. S isso.

    O Visual Basic for Applications (VBA) uma implementao do Visual Basic daMicrosoft incorporada em todos os programas do Microsoft Office, bem como emoutras aplicaes da Microsoft, como o Visio, e que foi tambm incorporada pelomenos parcialmente em outros programas de terceiros como o AutoCAD, Mathcad eWordPerfect. Ele substitui e estende as capacidades de anteriormente existenteslinguagens de programao de macros especficas para as aplicaes e pode serusado para controlar a quase totalidade dos aspectos da aplicao anfitri,incluindo a manipulao de aspectos do interface do usurio tais como menus ebarra das ferramentas e o trabalho com formulrios desenhados pelo usurio oucom 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 foitestado 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 ExcelPlula 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 maiselevado 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 figuraabaixo;

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    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 deOpes 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 habilitartodas as macros conforme a figura abaixo:

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    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 esquerdapara 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:

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    Os dados foram copiados da internet e representa a tabela dos 5 primeiros colocados do campeonato brasileiro defutebol 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 planilhaPlan1 a partir da clula A1.

    Criando a macro para realizar a copia dos dados entre as planilhasCom a planilha Excel aberta pressione as teclas ALT+F11. Se preferir clique no menu Desenvolvedor e a seguir naopo 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 abaixona nossa macro:

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    Sub copiarDadosEntrePlanilhas() Sheets("Plan2").Range("A1:J6").CopyDestination:=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 deTransferncia.

    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 automatizarquase tudo que seja possvel executar no programa que voc est usando e at mesmo permitem fazer coisas quetalvez voc no soubesse que fossem possveis.

    As macros so programao, mas para uslas, voc no precisa ser um desenvolvedor e nem mesmo ter conhecimentode programao. A maioria das macros que voc pode criar nos programas do Office escrita em uma linguagemchamada 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. Foiisso 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 deformulrio 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:

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    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 paraa planilha Plan1 conforme abaixo:

    Dessa forma mostramos como podemos usar cdigo VBA para realizar a cpia entre duas planilhas distintas no Excel2007.

    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 mimmesmo.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 ?

  • 20/06/2015 VBA(Excel)Copiandodadosentreplanilhas

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

    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 aulascom curso bsico sobre C#.

    Curso C# Basico Video Aulas

    Seo VB .NET do Site Macoratti.netSuper DVD .NET A sua porta de entrada na plataforma .NETSuper DVD Vdeo Aulas Vdeo Aula sobre VB .NET, ASP .NET e C#Seo C# do site Macoratti.netSuper DVD C#Super DVD Visual BasicCurso Bsico VB .NET Vdeo AulasCurso C# Bsico Vdeo Aulasmacoratti YouTubeMacoratti.net | FacebookVBA Cadastro de Clientes (Excel)VBA Cadastrando clientes e enviando emails Macoratti.netVBAIntegrando aplicativos Office Macoratti.netVBA Agenda de Visitas (Excel) Macoratti.netViso geral do modelo de objeto Excel: http://msdn.microsoft.com/ptbr/library/wss56bz7.aspxSeoVBA do SiteVBA Visual Basic for Aplications Macoratti.netVBA Criando um formulrio de Loginseo VBA e VSTO Macoratti .NETImportando dados de uma planilha Excel Macoratti.netExcel Extrao automtica de dados Macoratti.netVBA Criando um projeto no Excel Macoratti.netVBA Controlando o Excel Macoratti.net

    Jos Carlos Macoratti