CRIAR UM CODIGO GENERICO PRA TDS OS PRODUTOS
Olá a todos! Gostaria de um help . Estou desenvolvendo uma planilha automatizada totalmente em Excel+ VBA e gero todo o resultado dos dados em Power Point,até ai blz. Minha dúvida é, tenho 4 tabelas de dados cada uma com um estrtutura diferente,exemplo tem cada uma com colunas a mais do que as outras.
Cada tabela se refere a um produto,ex.produto 1 tem a tabela 1 e assim por diante.
Quando eu for gerar um relatório de um produto tenho que chamar a tabela referente aquele produto e gerar o relatório.Eu fiz um código pra gerar pra cada produto deixando fixo,funciona,mas sei que o melhor modo seria,criar um código genérico onde qualquer novo produto que entrar na planilha eu consigo gerar um relatório sem mais ficar criando um código pro novo produto. Desde já agradeço a todos!
Exemplo:
Produto1
-Tabela1
1linha ,3 colunas
Produto2
-Tabela2
2linhas,4Colunas
Produto3
-Tabela3
1linha-5 Colunas
Produto4
-Tabela 4
2linhas,6colunas
Cada tabela se refere a um produto,ex.produto 1 tem a tabela 1 e assim por diante.
Quando eu for gerar um relatório de um produto tenho que chamar a tabela referente aquele produto e gerar o relatório.Eu fiz um código pra gerar pra cada produto deixando fixo,funciona,mas sei que o melhor modo seria,criar um código genérico onde qualquer novo produto que entrar na planilha eu consigo gerar um relatório sem mais ficar criando um código pro novo produto. Desde já agradeço a todos!
Exemplo:
Produto1
-Tabela1
1linha ,3 colunas
Produto2
-Tabela2
2linhas,4Colunas
Produto3
-Tabela3
1linha-5 Colunas
Produto4
-Tabela 4
2linhas,6colunas
Galera quem pode me auxiliar? A dúvida é, qdo eu cadastrar um novo produto e uma nova tabela o código tem que entender que existe um novo produto ,dae ele gera o relatório sem eu ter que criar um novo código pra gerar o relatório pra esse novo produto.Resumindo td novo produto que entrar nessa planilha o código ira entender.
No aguardo
No aguardo
Olha acredito que todo mundo ta coma mesma duvida que eu, ou seja, não entendeu nada, acho que seria melhor vc postar um exemplo
ok,vou resumir bem!! rs
No excel tenho uma sheet produtos
nessa sheet produtos tenho 4 produtos que são as tabelas,ex.
Produtos:
tabela1
tabela2
tabela3
tabela4
Cada tabela tem uma estrutura diferente da outra,pois uma possui colunas a mais ou a menos que as outras,são tabelas distintas.
essas tabelas possuem valores nas suas colunas. Cada tabela possui um powerpoint já estrturado com suas tabelas.Esse powerpoint é o relatório final do que eu preciso ele simplesmente só recebe os valores de cada tabela referente ao produto excel.
Ex.tabela1.ppt ,tabela2.ppt ,tabela3.ppt, tabela4.ppt
na sheet produtos eu tenho um botão pra cada produto onde eu gero o powerpoint pra cada tabela do produto.
Esse botão já existe e funciona, o que eu preciso é o seguinte,imagina que amanhã na sheet produtos entra mais produtos[Ô]tabelas[Ô], dai eu teria que criar um código pra esse produto,gostaria de criar uma rotina de qtos novos produtos entrassem na sheet produto não precisaria eu estar criando um novo código pra esse produto.Na verdade seria um código genérico que td novo produto que entrar nessa sheet ele entende que pode mandar pro power point.
Fui claro?
Grato a todos!!
No excel tenho uma sheet produtos
nessa sheet produtos tenho 4 produtos que são as tabelas,ex.
Produtos:
tabela1
tabela2
tabela3
tabela4
Cada tabela tem uma estrutura diferente da outra,pois uma possui colunas a mais ou a menos que as outras,são tabelas distintas.
essas tabelas possuem valores nas suas colunas. Cada tabela possui um powerpoint já estrturado com suas tabelas.Esse powerpoint é o relatório final do que eu preciso ele simplesmente só recebe os valores de cada tabela referente ao produto excel.
Ex.tabela1.ppt ,tabela2.ppt ,tabela3.ppt, tabela4.ppt
na sheet produtos eu tenho um botão pra cada produto onde eu gero o powerpoint pra cada tabela do produto.
Esse botão já existe e funciona, o que eu preciso é o seguinte,imagina que amanhã na sheet produtos entra mais produtos[Ô]tabelas[Ô], dai eu teria que criar um código pra esse produto,gostaria de criar uma rotina de qtos novos produtos entrassem na sheet produto não precisaria eu estar criando um novo código pra esse produto.Na verdade seria um código genérico que td novo produto que entrar nessa sheet ele entende que pode mandar pro power point.
Fui claro?
Grato a todos!!
bom entendi mais ou menos na realidae o que vc deveria fazer:
primeiro, criar um MODELO de powerpoint, que receberia os dados necessário para de pois fazer um loop na tabela produto e chamar este modelo preenchido com os dados do produto, não precisando assim gerar um powerpoint para cada produto.
primeiro, criar um MODELO de powerpoint, que receberia os dados necessário para de pois fazer um loop na tabela produto e chamar este modelo preenchido com os dados do produto, não precisando assim gerar um powerpoint para cada produto.
Irei postar o código aqui da geração do powerpoint pra vcs verem como que eu fiz e funciona,porém o mesmo código se repete pra tds os produtos e isso que não quero. O mesmo código tem que servir pra qulaquer produto que esta cadastrado ou virá a ser cadastrado.
BOa noite a todos!
Explicando namente de fora resumida.
Tenho uma planilha no Excel com uma sheet produtos[Ô]tabelas[Ô] cada tabela representa um produto ,cada tabela possui colunas distintas.
Ex: tabela1 03 colunas, tabela2 04 colunas
cada tabela possui 1 [Ô]template[Ô] no powerpoint onde eu mando esses dados do excel pro powerpoint.
Esse template powerpoint,tem a mesma tabela do excel.
Ex eu escolho a tabela 1 no excel e preencho com dados e mando popular o powerpoint dessa tabela
,até aqui eu fiz.Minha duvida é criar uma function padrão qdo eu escolher uma tabela na sheet e mandar pro powerpoint ele saberá qual a tabela ele irá popular no powerpoint,também se eu cadastrar uma nova tabela nessa sheet essa function já saberá qual o template do powerpoint popular,sem eu precisar ficar fazendo manutenção nessa function código.
Obs:Esse meu powerpoint é um único arquivo que possui 2 slides refrente a tabela
slide1 tabela1,slide2 tabela2.
No aguardo.
Agradeço a todos
Esse é o meu código que eu fiz e funciona que abre o powerpoint e manda os dados da tabela1 ,mas é individualmente.Preciso de um unico código pra tds as tabelas.
▼
Public Function GeneratePPtGeneric(ByRef strSource As String)
Dim oPPTApp As PowerPoint.Application
Dim oPPTShape As PowerPoint.Shape
Dim oPPTFile As PowerPoint.Presentation
Dim SlideNum As Integer
Dim strFileNameGeneric As String
strFileNameGeneric = [Ô]Ibook.ppt[Ô]
Dim strPresPath As String
strPresPath = strSource & [Ô]\[Ô] & strFileNameGeneric
Set oPPTApp = CreateObject([Ô]PowerPoint.Application[Ô])
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)
SlideNum = 1
oPPTFile.Slides(SlideNum).Select
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes([Ô]tablePPt[Ô])
[ô]popula a tabela 1 do powerpoint
oPPTShape.Table.Cell(3, 1).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 2).Text
oPPTShape.Table.Cell(3, 2).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 3).Text
oPPTShape.Table.Cell(3, 3).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 4).Text
oPPTApp.ActivePresentation.Save
oPPTFile.Close
oPPTApp.Quit
Set oPPTShape = Nothing
Set oPPTFile = Nothing
Set oPPTApp = Nothing
End Function
Explicando namente de fora resumida.
Tenho uma planilha no Excel com uma sheet produtos[Ô]tabelas[Ô] cada tabela representa um produto ,cada tabela possui colunas distintas.
Ex: tabela1 03 colunas, tabela2 04 colunas
cada tabela possui 1 [Ô]template[Ô] no powerpoint onde eu mando esses dados do excel pro powerpoint.
Esse template powerpoint,tem a mesma tabela do excel.
Ex eu escolho a tabela 1 no excel e preencho com dados e mando popular o powerpoint dessa tabela
,até aqui eu fiz.Minha duvida é criar uma function padrão qdo eu escolher uma tabela na sheet e mandar pro powerpoint ele saberá qual a tabela ele irá popular no powerpoint,também se eu cadastrar uma nova tabela nessa sheet essa function já saberá qual o template do powerpoint popular,sem eu precisar ficar fazendo manutenção nessa function código.
Obs:Esse meu powerpoint é um único arquivo que possui 2 slides refrente a tabela
slide1 tabela1,slide2 tabela2.
No aguardo.
Agradeço a todos
Esse é o meu código que eu fiz e funciona que abre o powerpoint e manda os dados da tabela1 ,mas é individualmente.Preciso de um unico código pra tds as tabelas.
▼
Public Function GeneratePPtGeneric(ByRef strSource As String)
Dim oPPTApp As PowerPoint.Application
Dim oPPTShape As PowerPoint.Shape
Dim oPPTFile As PowerPoint.Presentation
Dim SlideNum As Integer
Dim strFileNameGeneric As String
strFileNameGeneric = [Ô]Ibook.ppt[Ô]
Dim strPresPath As String
strPresPath = strSource & [Ô]\[Ô] & strFileNameGeneric
Set oPPTApp = CreateObject([Ô]PowerPoint.Application[Ô])
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)
SlideNum = 1
oPPTFile.Slides(SlideNum).Select
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes([Ô]tablePPt[Ô])
[ô]popula a tabela 1 do powerpoint
oPPTShape.Table.Cell(3, 1).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 2).Text
oPPTShape.Table.Cell(3, 2).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 3).Text
oPPTShape.Table.Cell(3, 3).Shape.TextFrame.TextRange.Text = _
Worksheets(1).Cells(4, 4).Text
oPPTApp.ActivePresentation.Save
oPPTFile.Close
oPPTApp.Quit
Set oPPTShape = Nothing
Set oPPTFile = Nothing
Set oPPTApp = Nothing
End Function
Alguém se habilita?
Tópico encerrado , respostas não são mais permitidas