6 Replies Latest reply: Aug 6, 2016 8:27 AM by Clever Anjos RSS

    Exportação Excel

    Maicon Mello

      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

        • Re: Exportação Excel
          Yuri Nicolett

          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

            • Re: Exportação Excel
              Maicon Mello

              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

                • Re: Exportação Excel
                  Yuri Nicolett

                  É 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

              • Re: Exportação Excel
                Eduardo Endo

                dá uma olhada aqui:

                Export To Excel SHEETS

                • Re: Exportação Excel
                  Clever Anjos

                  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