Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
maiconmello
Creator III
Creator III

Exportação Excel

Bom dia ,

Pessoal, tenho um modelo com uma tabela dinâmica.

Onde possui produto e categoria.

Preciso construir uma macro, que faça a quebra por categoria descarregando os itens por categoria em cada aba.

Segue um exemplo do qlik e do excel como deveria ficar.

Atenciosamente,

Maicon Mello

6 Replies
nicolett_yuri

Maicon, nos informe qual é a sua dificuldade no desenvolvimento deste processo para podermos lhe ajudar melhor.

Você já consegue exportar uma tabela para o excel? Caso sim, a ideia é fazer com que a macro faça um loop em seu campo e depois exportar esse trecho de código no excel.

Um exemplo de loop no campo:

ActiveDocument.Fields("CAMPO_QUE_VAI_FAZER_LOOP").SelectPossible

x = ActiveDocument.Evaluate("concat(CAMPO_QUE_VAI_FAZER_LOOP, ',')")

val = Eval("Array(" + x + ")")

for i = 0 to UBound(val)

  ActiveDocument.GetApplication.WaitForIdle

  ActiveDocument.Fields("CAMPO_QUE_VAI_FAZER_LOOP").Select val(i)

  ActiveDocument.GetApplication.WaitForIdle

next

maiconmello
Creator III
Creator III
Author

Yuri, bom dia, hoje uso essa aqui :

Dúvida é criar novas abas e jogar os dados para cada uma.

Sub Exportar_Objetos_Excel

'Setando o Objeto que será exportado

  Set Objetos = ActiveDocument.GetSheetObject("TB01")

'Definições do arquivo Excel

  Set XLApp = CreateObject("Excel.Application")

  Set XLDoc = XLApp.Workbooks.Add

  Set XLSheet = XLDoc.Worksheets(1)

  XLApp.Visible = True

'Selecionando e excluido as bordas de toda a Aba Excel

  XLApp.Cells.Select

     XLApp.ActiveWindow.DisplayGridlines = False

'Selecionando a Célula A1 e colando o conteúdo do Objeto CH01

  XLApp.Range("A5").Select

'Para exportar os dados como tabela utilize o CopyTableToClipboard

' ActiveDocument.GetSheetObject("CH01").CopyTableToClipboard True

'Para exportar o gráfico como imagem utilize o CopyBitMapToClipboard

  'ActiveDocument.GetSheetObject("CH01").CopyBitMapToClipboard

  XLSheet.Paste

'Selecionando a célula A1

  XLSheet.Range("A1").Select

sub end

nicolett_yuri

É só colocar o código dentro do loop que te passei, mais ou menos assim:

ActiveDocument.Fields("CAMPO_QUE_VAI_FAZER_LOOP").SelectPossible

x = ActiveDocument.Evaluate("concat(CAMPO_QUE_VAI_FAZER_LOOP, ',')")

val = Eval("Array(" + x + ")")

for i = 0 to UBound(val)

  ActiveDocument.GetApplication.WaitForIdle

  ActiveDocument.Fields("CAMPO_QUE_VAI_FAZER_LOOP").Select val(i)

  ActiveDocument.GetApplication.WaitForIdle

   Set XLDoc = XLApp.Workbooks.Add

  Set XLSheet = XLDoc.Worksheets(i)

'AQUI VOCE COLOCA A MACRO PARA COPIAR A INFORMACAO E COLAR NA ABA CRIADA DO EXCEL

next

maiconmello
Creator III
Creator III
Author

Não vai Yuri, ele gera 9 planilhas.

O que quero é gerar uma única planilha com 4 abas nesse caso.

Not applicable

dá uma olhada aqui:

Export To Excel SHEETS

Clever_Anjos
Employee
Employee

Já achou uma solução? Se sim e alguma das resposta te ajudou, marque-a como "Correta" para fechar o tópico.

Como obter ajuda? Leia antes de postar