Ir ao conteúdo
  • Cadastre-se

Excel Inputbox para localizar palavra e em seguida substituir por outra


Ir à solução Resolvido por Basole,

Posts recomendados

Boa tarde pessoal tudo bem?

 

Preciso de uma inputbox que localize uma palavra e em seguida abra outra inputbox para digitar uma nova palavra e realize a substituição. eu encontrei o código abaixo para localizar mas não conseguir fazer a segunda parte.

 

Sub Localiza_palavra_desejada()
sbx = InputBox("Procurar palavra desejada")
If sbx = cancel Then 'caso cancele a busca
   Exit Sub
End If

      Cells.Find(What:=sbx, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Select
      MsgBox "Palavra [ " & sbx & " ] encontrada na célula [ " & ActiveCell.Address & " ]", vbInformation
     
End Sub

Link para o comentário
Compartilhar em outros sites

Olá, @Zamboni_du

 

Para uma célula receber um valor, o código seria

"Range("A1").Value = "texto"

 

ou seja, se esse código que você postou funcionar, basta que na ultima linha você coloque

 

ActiveCell.Value = "palavra desejada" 'ou uma variável com esse valor.

 

Se isso não ajudar, por favor poste sua planilha para que possamos testar e entender melhor o seu problema.

Link para o comentário
Compartilhar em outros sites

  • Solução

@Zamboni_du experimente desta forma: 

 

Sub Localiza_palavra_desejada()
Dim sbx As String
Dim sSubs As String

sbx = InputBox("Procurar palavra desejada")
If sbx = cancel Then 'caso cancele a busca
   Exit Sub
End If
 
sSubs = InputBox("palavra que irá substituir")
If sSubs = cancel Then 'caso cancele a busca
   Exit Sub
End If
    ActiveSheet.UsedRange.Replace What:=sbx, Replacement:=sSubs
    
      MsgBox "Palavra [ " & sbx & " ] na célula [ " & ActiveCell.Address & " ], Substituida por " & sSubs, vbInformation
     
End Sub

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Basole boa tarde, eu havia quebrado a cabeça e consegui resolver conforme abaixo mas o seu código ficou muito mais enxuto e eficiente. Muito obrigado novaente. 

Sub Procura_palavra()

Dim Entrada As Variant, Contador As Integer, UltLin As Integer, sbx As Variant, cancel As Variant


sbx = InputBox("Procurar palavra desejada")
If sbx = cancel Then 'caso cancele a busca
   Exit Sub
End If

      Cells.Find(What:=sbx, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Select
        
        Cells(1, 20) = sbx
        Cells(1, 20) = UCase(Cells(1, 20).Value)
        
Call msg5

End Sub

Sub Substitui_palava_encontrada()

Dim Entrada As Variant, Contador As Integer, UltLin As Integer




UltLin = Range("F" & Rows.Count).End(xlUp).Row - 1

For Contador = 2 To UltLin

If wsBase.Cells(Contador, 6).Value = wsBase.Cells(1, 20) Then
    'MsgBox Cells(Contador, 1).Value
    Entrada = Application.InputBox(Environ("UserName") & " - " & "Insira a palavra que irá substituir" )
    Cells(Contador, 6) = Entrada
    Cells(Contador, 6) = UCase(Cells(Contador, 6).Value)
    
End If
Next
End Sub

@Vics , boa tarde!!

 

Muito obrigado pela sua dica e tempo que dispôs, não era exatamente o que eu queria mas me deu uma luz para chegar na solução que preciso.

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...