Tutorial do PowerPoint VBA do Excel
O VBA é uma ferramenta poderosa que pode ser usada em qualquer área das ferramentas integradas da Microsoft. Como o MS Excel, o Powerpoint também possui uma disposição para criar uma macro e automatizar a apresentação. A automação pode ser de qualquer forma. Você viu apresentações em que os slides são tão grandes e detalhados, que às vezes acabam tendo mais de 50 slides apenas para cobrir um tópico de treinamento ou um relatório. Portanto, em vez de adicionar os gráficos no PowerPoint a partir do Excel, podemos criar um código que copie diretamente os gráficos do Excel e cole-o no slide do PowerPoint.
Como criar uma apresentação do PowerPoint a partir do Excel VBA?
Abaixo está o exemplo para criar uma apresentação do powerpoint usando o código VBA no Excel:
Você pode baixar este modelo do Excel do VBA PowerPoint aqui - Modelo do Excel do VBA PowerPointExemplo de PowerPoint VBA
Vamos criar um gráfico primeiro no Excel. Para isso, precisamos de dados. Abaixo temos alguns dados de vendas de 8 vendedores.
Agora vamos criar um gráfico ou gráfico de colunas com a ajuda dos dados acima. Veremos abaixo, agora temos um gráfico de colunas com o título Quantidade vendida e todos os rótulos inseridos.
Agora, nossa tarefa é obter esse gráfico no slide do PowerPoint, conforme mostrado aqui, com o título do gráfico como o título do slide do PowerPoint. Para isso, precisamos ativar o PowerPoint no VBA.
Siga os passos abaixo:
Etapa 1: Vá ao menu Ferramenta VBA, como mostrado abaixo, e selecione a opção Referências…, como mostrado abaixo.
Etapa 2: Assim que fizermos isso, obteremos as janelas do Projeto VBA de Referências. A partir dessa lista, selecione MS PowerPoint 15.0 Object Library como mostrado abaixo. Isso ativará todos os comandos relacionados ao MS PowerPoint no VBA. Sem isso, não podemos executar o VBA no PowerPoint. Marque a caixa da Biblioteca mencionada e clique em Ok .
Etapa 3: Agora, para escrever o código do VBA PowerPoint, precisamos de um módulo. Para obter um novo módulo, vá ao menu Inserir e selecione uma opção de módulo, como mostrado abaixo.
Etapa 4: nesse módulo, escreva a subcategoria do VBA PowerPoint ou qualquer outro nome, conforme sua necessidade, conforme mostrado abaixo.
Código:
Sub VBA_Presentation () End Sub
Etapa 5: Agora, para criar uma apresentação com a ajuda do Chart no Excel, precisamos de poucas variáveis. Vamos considerar 5 variáveis como:
- Aplicativo para aplicativo PowerPoint.
- PPT para apresentação em PowerPoint,
- PPTSlide for PowerPoint Slide,
- PPTShapes para PowerPoints,
- PPTCharts for Excel Chart Object.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject End Sub
Etapa 6: Agora use o comando Set para adicionar novo aplicativo do PowerPoint, como mostrado abaixo.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub
Etapa 7: em uma linha de código, torne o Aplicativo do PowerPoint visível e use o msoCTrue para avaliar misteriosamente a maneira incorreta. E depois disso, o mesmo aplicativo será usado como Maximizado no PowerPoint para obter a visualização completa.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized End Sub
Etapa 8: agora defina o PPT que é a nossa apresentação para adicionar no aplicativo MS PowerPoint,
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub
Etapa 9: Agora, usaremos uma combinação do loop For-Next e If-Else. Começando com o loop For-Next.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub
Etapa 10: No loop For do PPTCharts, os primeiros gráficos ativos no Excel.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects Próximo PPTCharts End Sub
Etapa 11: abaixo está o código para colar o gráfico do Excel para o slide do PowerPoint. Use o código para adicionar um slide ao PAplication definido, adicionando um slide a cada vez que executarmos o código.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Próximo PPTCharts End Sub
Etapa 12: Agora, na continuação da próxima linha de código, use o conjunto de códigos abaixo para definir uma visualização ativa da janela. Isso será usado para deslizar após o gráfico ser colado na apresentação do PowerPoint.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Próximo PPTCharts End Sub
Etapa 13: Depois de concluído, selecione a variável PPTChart que definimos anteriormente. Depois disso, copie o gráfico ativo selecionado na área do gráfico onde será colocado. E use o comando Colar Especial para colar o gráfico com imagens.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selecione próximo PPTCharts End Sub
Etapa 14: agora selecione a forma do gráfico que está na primeira posição como intervalo de texto. E carregue o mesmo título que é " Quantidade vendida " na apresentação do PowerPoint.
Código:
Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selecione PPTSlide.Shapes (1) .extext .Chart.ChartTitle.Text Próximo PPTCharts End Sub
Isso completa o código para o VBA PowerPoint.
Etapa 15: Agora compile o código passo a passo para saber se alguma linha de código possui um erro pressionando a tecla de função F8. E depois execute o código clicando no botão Play, que fica abaixo da barra de menus, como mostrado abaixo.
Obteremos o gráfico publicado no arquivo do PowerPoint no primeiro slide, como mostrado abaixo.
Como o código é grande, o código completo pode ser visto na caixa de texto abaixo.
Profissionais do Excel VBA PowerPoint
- O uso do VBA no Powerpoint facilita o manuseio se um arquivo ppt tiver tantos slides com grande conteúdo.
- O VBA com Powerpoint oferece um toque de automação, mesmo com funções limitadas disponíveis.
Contras do Excel VBA PowerPoint
- Precisamos selecionar a Biblioteca de Objetos do Microsoft PowerPoint 15.0 na opção Referência, localizada na opção de menu Ferramenta, necessária no início do exemplo-1, sempre que executarmos o código para o PowerPoint.
Coisas para lembrar
- Salve o arquivo no formato de habilitação de macro após escrever o código. Isso nos ajudará a evitar a perda do código e o uso múltiplo no futuro.
- O recurso de recodificação não funcionará aqui, pois precisamos pular do Excel para o PowerPoint alterando a interface entre as páginas.
- Sempre compile o código antes de executar. Isso ajudará você a encontrar o erro no código. Isso é bastante útil quando escrevemos grandes linhas de código.
- Para executar e implementar o código, precisamos abrir a planilha do Excel com o Gráfico que queremos colá-la no slide do PowerPoint.
- Podemos alinhar o gráfico no PowerPoint conforme nossas necessidades.
Artigos recomendados
Este é um guia para o VBA PowerPoint. Aqui discutimos como criar uma apresentação do PowerPoint a partir do Excel usando o código VBA, juntamente com um exemplo prático e um modelo em Excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Coluna de exclusão do VBA
- Barra de status no Excel
- VBA Remover Duplicatas
- Criar planilha no Excel