Preciso substituir o conteúdo do COMENTÁRIO de várias células do excel, porém a função SUBSTITUIR somente examina o conteúdo da célula.
Existe alguma forma automatizada de fazer essa substituição ou terei que fazer uma por uma (em uma planilha de mais de 1000 linhas) ?
Tem como fazer através de Macro. Entende algo? Se quiser ajudar, manda um help!
Sub Macro() Cells.Find(What:="COMO SUBSTITUIR?", After:=ActiveCell, LookIn:=xlComments, LookAt:=xlPart, _ SearchOrder:=xlByRows, SearchDirection:=xlNext) = "NOVO COMENTARIO" End Sub
Pietro Farias
Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.
Boa tarde jao8,
No VBE coloque esse código em um novo módulo e execute.
Option Explicit Public Sub SubstituirComentario() Dim i As Long Dim UltL As Long Dim Coluna As String Dim Antes As String Dim Depois As String On Error Resume Next Coluna = InputBox("Digite a coluna a alterar") Antes = InputBox("Digite o texto a ser substituido") Depois = InputBox("Digite o novo texto") UltL = ThisWorkbook.ActiveSheet.Range(Coluna & Rows.Count).End(xlUp).Row For i = 1 To UltL If Not Range(Coluna & i).Comment Is Nothing Then Range(Coluna & i).Comment.Text Text:=Replace(Range(Coluna & i).Comment.Text, Antes, Depois) End If Next i MsgBox ("Alteração realizada com sucesso!") End Sub
Qualquer coisa da o grito.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Desenvolva uma função personalizada na sua pasta de trabalho, ou seja, crie um procedimento Function.
A guia Desenvolvedor não é visível quando você abre o Excel. Fazer com que o Excel exiba a guia Desenvolvedor é fácil, mas o procedimento varia dependendo de qual versão você usa, mas, basicamente é isso: Arquivo - Opções - Personalizar Faixa de Opções - Coloque uma marca de verificação na caixa de seleção Desenvolvedor na Faixa de Opções e click em OK.
Selecione a Guia Desenvolvedor (que agora aparece do lado da Guia Exibição) e click em Visual Basic ou pressione Alt+F11.
No lado esquerdo, selecione com o botão direito a sua pasta de trabalho e click em inserir módulo. Do lado direito, digite (ou copie e cole) o seguinte:
Function MudarComentario (cell, NewText)
cell.Comment.Text NewText
End Function
Feche o Visual Basic ou clique no ícone do Excel em cima, do lado esquerdo.
E eis a fórmula que usa a função.
Exemplo: Imagine que a célula A1 já tem um comentário e quando a fórmula é calculada, o comentário é alterado.
=MudarComentario (A1; "Esta mensagem é nova!")
Agora você pode ver sua função na Caixa de Diálogo "Inserir Função". Ela estará listada na categoria "Definido pelo Usuário". O atalho é Shift+F3.
Selecione uma célula próxima da que você quer alterar o comentário. A fórmula retornará "0" nessa célula. Se existirem comentários em 5 linhas e 3 colunas consecutivas, faça o mesmo arrastando a fórmula para 3 células para a direita e 5 células abaixo, pois o A1 do exemplo não está travado com $. Os outros comentários também serão alterados caso o texto que você quer inserir seja o mesmo.
Depois, delete os "zeros" que aparecerão nas células que você utilizar como cobaias e ao sair, não se esqueça de salvar seu arquivo como "Pasta de Trabalho Habilitada para Macros do Excel"...
Essa explicação aprendi com o livro "Programando Excel VBA para LEIGOS" de John Walkenbach
Espero que tenha ajudado.
Adriano Lopes... TFA