Como copiar dados do Excel para o Word usando o VBA Excel

Índice:

Anonim

Para copiar dados do Excel para um arquivo Word usando VBA, precisamos acessar o aplicativo Word usando Excel VBA. Neste tutorial, aprenderemos como abrir um aplicativo Word, adicionar um documento e copiar e colar dados do Excel nele.

Neste artigo, usaremos o método Early Binding para criar um objeto de aplicação de palavra em vez de usar a ligação tardia. Você pode ler sobre isso aqui em detalhes.

O processo de copiar dados do Excel para um arquivo do Word usando o Excel VBA

Para copiar dados do Excel para um arquivo Word usando VBA, primeiro precisamos abrir o aplicativo Word, é claro. Em seguida, adicione um documento a ele (se quiser um novo documento). Copie os dados do arquivo excel. Selecione o parágrafo no documento e cole nele. Por fim, salve e feche o documento. Cada uma dessas etapas pode ser realizada facilmente no Excel. Você não precisará interagir com o documento do Word.

Vamos começar com um exemplo sem aprofundar na teoria. Porque o Homem de Ferro disse: "Às vezes você tem que correr antes de poder andar".

Exemplo: colar dados do Excel no Word usando VBA

O código abaixo é um exemplo de como você pode copiar algumas faixas do Excel e colá-lo em um novo documento do Word e salvá-lo no drive para usar mais tarde

'Código VBA para escrever para copiar dados do Excel para um documento Sub ExcelToWord ()' Usando vinculação antecipada Dim wordApp como Word.Application Dim mydoc As Word.Document 'Criar uma nova instância de word apenas se não houver outras instâncias Set wordApp = New Word.Application 'Tornando o aplicativo de palavra visível wordApp.Visible = True' Criando um novo documento Set mydoc = wordApp.Documents.Add () 'copiando o conteúdo da planilha do Excel ThisWorkbook.Worksheets ("sheet1"). Range ("A1: g20 ") .Copy 'Colando no documento mydoc.Paragraphs (1) .Range.PasteExcelTable _ LinkedToExcel: = False, _ WordFormatting: = False, RTF: = False' salvando o documento mydoc.SaveAs2" MyDoc "'fechando o documento mydoc .Close 'Esvaziando a área de transferência CutCopyMode = False End Sub 

Explicação do Código:

Bem, eu expliquei cada etapa no próprio código usando comentários, mas vamos falar um pouco sobre as linhas que usamos nesta sub-rotina.

'Variáveis ​​criadas de aplicação de texto e tipo de documento

Dim wordApp As Word.Application

Dim mydoc As Word.Document

Aqui, declaramos duas variáveis ​​dos tipos necessários. Podemos fazer isso porque já adicionamos a referência à palavra aplicação. Você pode fazer isso acessando ferramentas no menu. Encontre a opção de referências e, em seguida, procure a palavra referência.

'Criar uma nova instância de palavra apenas se não houver outras instâncias

Definir wordApp = New Word.Application

'Tornando o Word App Visível

wordApp.Visible = True

'Criando um novo documento

Defina mydoc = wordApp.Documents.Add ()

Na primeira linha acima, estamos iniciando a variável wordApp com um objeto do tipo Word.App usando a palavra-chave New. Isso abrirá o aplicativo Word.

Na segunda linha, estamos tornando a palavra aplicação visível para que possamos trabalhar com ela.

Na próxima linha, adicionamos um novo documento ao aplicativo de palavras usando a função Word.Documents.Add (). Isso é armazenado na variável mydoc.

'copiando o conteúdo da planilha excel

ThisWorkbook.Worksheets ("sheet1"). Range ("A1: G20"). Copy

Aqui, estamos simplesmente copiando um intervalo do Excel. Você deve ter feito isso antes. Ele é armazenado na área de transferência.

'Colando no documento

mydoc.Paragraphs (1) .Range.PasteExcelTable _

LinkedToExcel: = False, _

WordFormatting: = False,

RTF: = Falso

Estamos usando o método PasteExcelTable da classe Paragraph.Range de mydoc para colar dados da área de transferência.

'salvando o documento

mydoc.SaveAs2 "MyDoc"

'fechando o documento

mydoc.Close

'Esvaziando a área de transferência

CutCopyMode = False

Estamos salvando o documento com o nome MyDoc. Em seguida, fechamos o documento usando a função Fechar. Finalmente, liberamos a área de transferência para ser usada por outras pessoas.

Então, sim pessoal, é assim que você pode criar um novo documento do Word e copiar os dados do Excel para ele usando o VBA. Não entrei em detalhes, pois isso tornaria o artigo exaustivamente longo. Isso foi apenas para aprender como você pode colar em um documento do Word através do Excel. Espero que tenha ajudado você a entender o processo. Se você tiver alguma dúvida sobre este artigo, pode entrar em contato comigo por meio da seção de comentários abaixo.

Introdução aos Formulários de Usuário do Excel VBA| Explicarei como criar um formulário no Excel, como usar a caixa de ferramentas VBA, como lidar com as entradas do usuário e, finalmente, como armazenar as entradas do usuário. Percorreremos esses tópicos usando um exemplo e um guia passo a passo.

Variáveis ​​VBA no Excel| VBA significa Visual Basic for Applications. É uma linguagem de programação da Microsoft. É usado com aplicativos do Microsoft Office, como MSExcel, MS-Word e MS-Access, enquanto as variáveis ​​VBA são palavras-chave específicas.

Escopo de Variável Excel VBA| Em todas as linguagens de programação, temos especificadores de acesso à variável que definem de onde uma variável definida pode ser acessada. O Excel VBA não é exceção. O VBA também tem especificadores de escopo.

Argumentos ByRef e ByVal | Quando um argumento é passado como um argumento ByRef para uma subfunção ou função diferente, a referência da variável real é enviada. Quaisquer alterações feitas na cópia da variável, serão refletidas no argumento original.

Exclua planilhas sem prompts de confirmação usando VBA no Microsoft Excel | Como está excluindo planilhas usando o VBA, você sabe o que está fazendo. Você gostaria de dizer ao Excel para não mostrar este aviso e excluir a maldita planilha.

Adicionar e salvar uma nova pasta de trabalho usando VBA no Microsoft Excel 2016| Neste código, primeiro criamos uma referência a um objeto de pasta de trabalho. E então o inicializamos com um novo objeto de pasta de trabalho. A vantagem dessa abordagem é que você pode realizar operações nesta nova pasta de trabalho facilmente. Como salvar, fechar, excluir, etc.

Exibir uma mensagem na barra de status do Excel VBA| A barra de status no Excel pode ser usada como um monitor de código. Quando seu código VBA é longo e você executa várias tarefas usando o VBA, geralmente desativa a atualização da tela para não ver a tela piscando.

Desativar mensagens de aviso usando VBA no Microsoft Excel 2016| Este código não apenas desabilita alertas VBA, mas também aumenta a eficiência de tempo do código. Vamos ver como.

Artigos populares:

50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos farão você trabalhar ainda mais rápido no Excel.

A função VLOOKUP no Excel | Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.

CONT.SE no Excel 2016 | Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar valores específicos. A função Countif é essencial para preparar seu painel.

Como usar a função SUMIF no Excel | Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.