O titulo é bem objetivo
E possivel copiar um texto qualquer de uma celula para o modulo VBA, folha da planilha ou Esta Pasta de Trabalho como um comentario no modulo
Um Exemplo
Suponha que em A1 tenha uma frase Bom Dia! Deus é Fiel.
Como colocar isso no modulo vba como comentario.
Ou seja se o texto for trocado troca o comentario tb.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
MPrudencio, Bom dia!
Seria algo parecido com isso?
Sub InsertProcedureCode(ByVal wb As Workbook, ByVal InsertToModuleName As String) ' inserts new code in module named InsertModuleName in wb ' needs customizing depending on the code to insert Dim VBCM As CodeModule Dim InsertLineIndex As Long On Error Resume Next Set VBCM = wb.VBProject.VBComponents(InsertToModuleName).CodeModule If Not VBCM Is Nothing Then With VBCM InsertLineIndex = .CountOfLines + 1 ' customize the next lines depending on the code you want to insert .InsertLines InsertLineIndex, "Sub NewSubName()" & Chr(13) InsertLineIndex = InsertLineIndex + 1 .InsertLines InsertLineIndex, _ " Msgbox ""Hello World!"",vbInformation,""Message Box Title""" & Chr(13) InsertLineIndex = InsertLineIndex + 1 .InsertLines InsertLineIndex, "End Sub" & Chr(13) ' no need for more customizing End With Set VBCM = Nothing End If On Error GoTo 0 End Sub
Para chamar a rotina :
InsertProcedureCode Workbooks("WorkBookName.xls"), "Module1"
Abs
Espero ter ajudado.
Abs.
Saulo Robles
srobles obrigado pela resposta mas deu erro dentro do with nessas linhas
With VBCM InsertLineIndex = .CountOfLines + 1 ' customize the next lines depending on the code you want to insert o erro inicia aqui .InsertLines InsertLineIndex, "Sub NewSubName()" & Chr(13) InsertLineIndex = InsertLineIndex + 1 .InsertLines InsertLineIndex, _ " Msgbox ""Hello World!"",vbInformation,""Message Box Title""" & Chr(13) InsertLineIndex = InsertLineIndex + 1 .InsertLines InsertLineIndex, "End Sub" & Chr(13) ate aqui ' no need for more customizing End With
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
MPrudencio,
Vamos lá :
1) Adicione a referência a biblioteca Microsoft Visual Basic Extensibility 5.3 ;
2) Crie um botão e/ou rotina para chamar a rotina
3) Crie um módulo com o nome que queira, mas preste atenção na chamada da rotina;
3) Crie um novo módulo e mude seu nome ou adicione esta Sub ao código do form ou qualquer outro módulo e cole o código abaixo :
Sub InsertProcedureCode(ByVal wb As Workbook, ByVal InsertToModuleName As String) Dim VBCM As CodeModule Dim InsertLineIndex As Long On Error Resume Next Set VBCM = wb.VBProject.VBComponents(InsertToModuleName).CodeModule If Not VBCM Is Nothing Then With VBCM .InsertLines 1, "'Deus é Fiel" 'Adiciona o texto na primeira linha do módulo, caso queira contar as linhas usadas use .CountOfLines + 1, "TEXTO" End With Set VBCM = Nothing End If On Error GoTo 0 End Sub
Chamada da rotina :
InsertProcedureCode Workbooks(ThisWorkbook.Name), "Módulo1"
Em anexo, deixo um exemplo com duas possibilidades para melhor compreensão.
Abs
Espero ter ajudado.
Abs.
Saulo Robles
MPrudencio,
Algum parecer a respeito da dúvida?
Abs
Espero ter ajudado.
Abs.
Saulo Robles
Srolbes, na verdade acabei me esquecendo de dar um retorno a respeito do codigo.
Vou testar durante a semana e dou um retorno.
Obrigado por enquanto
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.