Cells.find com base na célula

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Cells.find com base na célula

Mensagempor Jhonata01 » Sex Mai 22, 2020 5:52 pm

Prezados,
tenho o código abaixo.
No código ele pesquisa numa planilha o valor "TESTE".

Eu quero mudar para que ele não fique nada pré-definido, e sim que o usuário defina o que vai ser pesquisado digitando o texto em uma célula especifica.
Por exemplo,
ele tem que buscar tudo que for digitado na celula A4.


Código: Selecionar todos
Range("Cadastrar_Kit15[Especificação]").Select
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("J11").Select
    Cells.Find(What:="TESTE", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Sheets("Cadastrar_Mercadoria").Select
    Range("Cadastrar_Kit15[Valor da Mercadoria]").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("B3").Select
    ActiveSheet.Paste
    Sheets("Cadastrar_Mercadoria").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("Cadastrar_Kit15[Especificação]").Select
    Selection.ClearContents
   
       
    MsgBox "Preço Alterado com sucesso!"
End Sub




Podem me ajudar?
Agradeço!
Jhonata01
Membro
Membro
 
Mensagens: 10
Registrado em: Qui Nov 21, 2019 5:50 pm
Has thanked: 1 time
Have thanks: 0 time

{ SO_SELECT }

Re: Cells.find com base na célula

Mensagempor Anderson » Sex Mai 22, 2020 7:36 pm

Código: Selecionar todos
Range("Cadastrar_Kit15[Especificação]").Select
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("J11").Select
    Cells.Find(What:=range("A4").value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Sheets("Cadastrar_Mercadoria").Select
    Range("Cadastrar_Kit15[Valor da Mercadoria]").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("B3").Select
    ActiveSheet.Paste
    Sheets("Cadastrar_Mercadoria").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("Cadastrar_Kit15[Especificação]").Select
    Selection.ClearContents
   
       
    MsgBox "Preço Alterado com sucesso!"
End Sub
Anderson
Membro
Membro
 
Mensagens: 166
Registrado em: Dom Mar 15, 2020 10:40 pm
Has thanked: 1 time
Have thanks: 63 times

Re: Cells.find com base na célula

Mensagempor Jhonata01 » Ter Mai 26, 2020 11:06 am

Boa tarde!

Código: Selecionar todos
Sub AlterarPrecoXProduto()
'
' AlterarPrecoXProduto Macro
'

'
    Range("Cadastrar_Kit15[Especificação]").Select
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("J11").Select
    Cells.Find(What:=Range("D12").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Sheets("Cadastrar_Mercadoria").Select
    Range("Cadastrar_Kit15[Valor da Mercadoria]").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("B3").Select
    ActiveSheet.Paste
    Sheets("Cadastrar_Mercadoria").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("Cadastrar_Kit15[Especificação]").Select
    Selection.ClearContents
   
       
    MsgBox "Preço Alterado com sucesso!"
End Sub

Por favor, veja se pode me ajudar..
Ele deve copiar o valor inserido na celula D12:
Código: Selecionar todos
Cells.Find(What:=Range("D12").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _

Pesquisar a posição deste valor na aba "Entrada_Mercadoria" e posteriormente, nessa parte:
Código: Selecionar todos
     Range("Cadastrar_Kit15[Valor da Mercadoria]").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Entrada_Mercadoria").Select
    Range("B3").Select
    ActiveSheet.Paste

ele deve copiar o novo valor inserido, e colar ao lado (substituir) da posição da célula encontrada anteriormente (pesquisada no D12).
Jhonata01
Membro
Membro
 
Mensagens: 10
Registrado em: Qui Nov 21, 2019 5:50 pm
Has thanked: 1 time
Have thanks: 0 time

Re: Cells.find com base na célula

Mensagempor Anderson » Ter Mai 26, 2020 11:40 am

Caso deseje aprender Excel VBA, assista a estes vídeos:

https://www.youtube.com/watch?v=EkBYH3gZnVY&list=PLXf-uOPOzimxFbeV7MKzsM9vC-j3RoPf5
Anderson
Membro
Membro
 
Mensagens: 166
Registrado em: Dom Mar 15, 2020 10:40 pm
Has thanked: 1 time
Have thanks: 63 times

Re: Cells.find com base na célula

Mensagempor Jhonata01 » Ter Mai 26, 2020 12:52 pm

Obrigado amigo.
eu tenho noção de VBA e já fiz bastante coisa.
mas juro que essa parte não to conseguindo achar um jeito.

Ele simplesmente tem que pesquisar o texto de uma celula em uma tabela, depois copiar o valor inserido ao lado da celular e colar também na tabela, só que na segunda coluna ao lado do texto pesquisado.
tem algo simples para isso?
Jhonata01
Membro
Membro
 
Mensagens: 10
Registrado em: Qui Nov 21, 2019 5:50 pm
Has thanked: 1 time
Have thanks: 0 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes