locked
Copiar worksheet criada através de workbook.add para a nova planilha criada RRS feed

  • Pergunta

  • Como copiar uma worksheet criada em uma planilha para outra planilha através do workbook.add em modo automatizado no Visual Basic do Excell

    Wesley Cesar

    Eu nã expliquei direito.
    O que eu preciso fazer é :
    exemplo: tenho uma aplicação excel e na arvore do VBA Project ela aparece assim

    - VBAProject(X.xlsm)
     |
       - Microsoft Excel Objetos
       | 
         - EstaPasta_de_trabalho
          |
           - Plan1
          |
           - Plan2
          |
           - Plan3
          |
           - Plan4 (Plan1)
          |
           - Plan5 (Plan2)
          |
           - Plan6 (Plan3)
       | 
        - Módulos
         |
          - Módulo1
         |
          - Módulo2
         |

    em módulo1 temos a codificação em VBA para tratamento da aplicação do Workbook X.xlsm
    no módulo2 temos a codificação em VBA para tratamento da nova aplicação criada através do Workbooks.Add, ou seja,

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    que trata toda alteração nas células da nova planilha.

    o que eu preciso é como copiar o Módulo2 (ou conteúdo dele) para a nova planilha para que ela possa ser tratada através dos códigos inseridos na Worksheet_SelectionChange.

    a nova arvore da nova planilha fica assim após o Workbooks.Add :

    - VBAProject(Nova Planilha.xls)
     |
       - Microsoft Excel Objetos
       | 
         - EstaPasta_de_trabalho
          |
           - Plan1 (Plan1)
          |
           - Plan2 (Plan2)
          |
           - Plan3 (Plan3)

    Então o conteúdo do Módulo2 deve estar contido em Plan1 (Plan1), pois, nele temos a opção de criar Worksheet

    Como fazer ???

    quarta-feira, 6 de janeiro de 2010 16:20

Todas as Respostas

  • Faça assim

    ' Define em qual poisção vai ser copiada a aba no caso vai ser em ultimo
    iPosicao = Sheets.Count

    'Plan1 Aba que deseja copiar
    'Destino .xls Planilha onde vc deseja copiar

    Sheets("Plan1").Copy After:=Workbooks("Destino.xls").Sheets(iPosicao)

    Espero que ajude
    Se satisfazer assinale como resposta

    Wesley
    quinta-feira, 7 de janeiro de 2010 13:45