/ / Copiar guias / folhas de uma pasta de trabalho para outra com código macro / vba (1 botão) - excel, vba, excel-vba, excel-2010

Copie guias / folhas de uma pasta de trabalho para outra com o código macro / vba (1 botão) - excel, vba, excel-vba, excel-2010

duas (espero) perguntas fáceis -

  1. Posso copiar duas guias de File1.xlsm para um arquivo master.XLSX e ainda executar o código da macro? Eu presumo que não?

  2. Supondo que não posso fazer o nº 1, posso copiar as 2 guias em outro arquivo master.xlsm? Se sim, por favor, ajude. Eu tentei o seguinte.

O File1.xlsm apenas possui uma grade com um botão 1 que chama "File1.xlsm"! GetData que preenche a grade.

Consegui clicar com o botão direito do mouse nas guias do Arquivo1.xlsm e mova / copie-os com êxito para master.xlsm, mas sem o vba getData Sub (). Quando clico no botão, ele disse que não conseguiu encontrar o código! GetData. Existe uma maneira limpa de copiar as duas guias e o código da macro! GetData no Master.xlsm?

Obrigado um monte de antecedência!

Respostas:

0 para resposta № 1

Para realizar esta tarefa, você deve consideraradicionando o código relevante a um módulo na pasta de trabalho File1. Você precisará habilitar a extensibilidade do Visual Basic na biblioteca da pasta de trabalho File1.

Você precisaria copiar o módulo junto com as duas folhas para a nova pasta de trabalho. Você faria isso com comandos semelhantes aos seguintes.

ActiveWorkbook.VBProject.VBComponents("module1").Export Path
SomeWorkbook.VBE.VBProject.VBComponents.Import Path

Onde path é uma variável de cadeia de caracteres para um local em que você gostaria de colocar o módulo, e algum workbook seria o objeto da pasta de trabalho Master.xlsm.


0 para resposta № 2
with ActiveWorkbook.VBProject
.VBComponents("sheet1").codemodule.addfromstring   .VBComponents("Sheet1").codemodule.lines(1,.VBComponents("Module1").codemodule.CountofLines)
end with
sheets(array("sheet1","sheet2")).copy