Olá Pessoal

Abaixo segue um exemplo pra quem sempre desejou um código de vba que possa inserir uma macro em outra planilha.
O uso serve para o mais diverso… conforme a criatividade você pode fazer uma atualização vba sem precisar alterar manualmente (veja o post Excluindo um modulo em outra planilha), quem sabe uma planilha que gera macros para clientes ou ainda fazer uma expiração de data que apague os dados.
Tentei deixar o mais simples possível e assim ficar fácil o entendimento, e portanto não coloquei para Salvar após inserir o módulo ou Paralisar a tela antes de executar.

* Para o código abaixo funcionar é necessário habilitar opção de confiança de objetos VBA

modulo em outra planilha

* Também é necessário adicionar na biblioteca a referencia Extensibility, dúvida ver o vídeo

_________________________________________________________________________

Sub INSERIR_MODULO_EXCELEVBA_COM_BR()

Dim ObjVbProj As VBProject

Dim ObjVbComp As VBComponent
Dim ObjVbMod As CodeModule

Dim txtMacroLinha2 As String
Dim txtMacroLinha3 As String
Dim txtMacroLinha4 As String

'abaixo segue o código que será inserido em outra planilha
txtMacroLinha2 = "Sub NovoProcedimento()"
txtMacroLinha3 = " Msgbox ""Olá BemVindo excelevba.com.br"" "
txtMacroLinha4 = "End Sub"

''----------------opcao 1-------------------------------
''caso queira abrir uma nova macro
'Workbooks.Add
'Set ObjVbProj = ActiveWorkbook.VBProject

''----------------opcao 2------------------------------
''abrir um arquivo antigo
endereco = "c:\temp\codigoAntigo.xlsm"
Workbooks.Open (endereco)
Set ObjVbProj = ActiveWorkbook.VBProject

''----------------------------------------------
Set ObjVbComp = ObjVbProj.VBComponents.Add(vbext_ct_StdModule)
ObjVbComp.Name = "Mod1" 'nome do módulo

Set ObjVbMod = ObjVbComp.CodeModule

ObjVbMod.InsertLines 2, txtMacroLinha2
ObjVbMod.InsertLines 3, txtMacroLinha3
ObjVbMod.InsertLines 4, txtMacroLinha4

'Retirar o objeto
Set ObjVbMod = Nothing
DoEvents

End Sub

___________________________________________________

Segue vídeo demonstrativo