Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Criando um Deck do Powerpoint no MS Excel - Creating a PowePoint Deck in Excel

Inline image 1


Quantas vezes você já construiu uma apresentação do PowerPoint com dados do MS Excel? Certamente temos feito isso em alguns momentos - alguns de nós fazemos isso em base semanal. 

A dinâmica é a seguinte: Você copia ou vincula as tabelas e os gráficos do MS Excel para um deck do MS PowerPoint. Em seguida atualiza os Slides quando for a hora de mostrar a apresentação.

Neste post, eu gostaria de mostrar uma técnica que leva o conceito de utilização de dados do MS Excel no MS PowerPoint ao extremo. A idéia básica é que você pode construir uma aplicação imite uma apresentação do MS PowerPoint. Ou seja, a planilha é a apresentação em si e cada aba torna-se um slide da apresentação.

Depois de fazer isso, você pode facilmente converter a sua planilha de trabalho numa apresentação MS PowerPoint real usando um pouco de automação VBA..

- Crie uma planilha de trabalho para que cada guia represente um slide da apresentação.

O truque para esta técnica é que você criará uma imagem de um Range específico em cada guia, e então colará a imagem no MS PowerPoint. Sob essa dica, é importante perceber que você desejará colocar os seus elementos (tabelas e gráficos) no mesmo intervalo das guias.

Inline image 2

 - ATENÇÃO: Cole o código abaixo num módulo padrão. Você precisará mudar a faixa a ser capturada (na 3º Etapa do código). Também vai querer ajustar o tamanho e a posição de cada Slide (na 7º Etapa do código).

Sub WorkbooktoPowerPoint()
'Step 1: Declare your variables
Dim pp As Object
Dim PPPres As Object
Dim PPSlide As Object
Dim xlwksht As Worksheet
Dim MyRange As String
Dim MyTitle As String

'Step 2: Open PowerPoint, add a new presentation and make visible
Set pp = CreateObject("PowerPoint.Application")
Set PPPres = pp.Presentations.Add
pp.Visible = True

'Step 3: Set the ranges for your data and title
MyRange = "B2:BH40" '<<

'Step 4: Start the loop through each worksheet
For Each xlwksht In ActiveWorkbook.Worksheets
xlwksht.Select
Application.Wait (Now + TimeValue("0:00:1"))

'Step 5: Copy the range as picture
xlwksht.Range(MyRange).CopyPicture _
Appearance:=xlScreen, Format:=xlPicture

'Step 6: Count slides and add new blank slide as next available slide number
'(the number 12 represents the enumeration for a Blank Slide)
SlideCount = PPPres.Slides.Count
Set PPSlide = PPPres.Slides.Add(SlideCount + 1, 12)
PPSlide.Select

'Step 7: Paste the picture and adjust its position
PPSlide.Shapes.Paste.Select
pp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
pp.ActiveWindow.Selection.ShapeRange.Top = 1
pp.ActiveWindow.Selection.ShapeRange.Left = 1
pp.ActiveWindow.Selection.ShapeRange.Width = 700

'Step 8: Add the title to the slide then move to next worksheet
Next xlwksht

'Step 9: Memory Cleanup
pp.Activate
Set PPSlide = Nothing
Set PPPres = Nothing
Set pp = Nothing

End Sub

Com esta técnica, poderá construir apresentações inteiras no MS Excel, onde terá as melhores ferramentas analíticas automatizadas. E poderá simplesmente converter a sua versão do MS Excel da sua apresentação para uma apresentação do MS PowerPoint.

TagsVBA, PowePoint, Deck, Excel, VBA, automação, automation, 


eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine