Ir ao conteúdo
  • Cadastre-se

Excel Localizar e copiar valores


Ir à solução Resolvido por RafaVillani,

Posts recomendados

Boa tarde.

Poderiam me ajudar por favor. Como eu faço para ao inserir o nome (célula a20) e a data (célula A21) o excel me mostre o ultimo valor preenchido da tabela para essas condições. Por exemplo, com os dados acima o resultado precisa ser as informações da célula F22,F23 e F24.

 

Observação, sempre que eu mudar o nome e a data a tabela terá mais ou menos informações 

 

Planilha em anexo

 

1759060030_Capturadetela2021-05-12155529.thumb.png.11e8dd0340a2c969a42e102b7c0284ac.png

image.png

Avaliação.xlsx

Link para o comentário
Compartilhar em outros sites

@RafaVillani ficou ótimo, mas preciso de outra ajuda. Eu coloquei tudo em uma aba só quando fiz a pergunta para facilitar,porém na planilha eu preciso que esses dados sejam inseridos automaticamente em outra aba, na planilha que enviei na pergunta os dados eram inseridos na aba "Dados", preciso na verdade que sejam inseridos na aba "Grafico". Eu tentei mudar mas não consegui. Não sei nada sobre função :(

 

Gostaria por favor que os dados sejam inseridos na aba "Grafico", célula W5,W6 e W7.

 

Estou enviando a planilha em anexo e o seu código abaixo.

 

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Nome As String, Data As Date
Dim sNome As Range, sData As Range
Dim Lin As Integer, Col As Integer
Dim Celula As Range

Set Celula = Range("E21")

If Not Application.Intersect(Celula, Range(Target.Address)) Is Nothing Then
    If Range("E20") = Empty Then
        MsgBox "Informe o nome primeiro!", vbInformation
    Else

    Nome = Range("E20").Value
    Data = Range("E21").Value

    Set sNome = Sheets("Dados").[A:A].Find(What:=Nome, LookIn:=xlValues, LookAt:=xlWhole)
        
    Set sData = Sheets("Dados").[B:B].Find(What:=Data, LookIn:=xlValues, LookAt:=xlWhole)

        If Not sNome Is Nothing Then
            If Not sData Is Nothing Then
                If Nome = sNome And Data = sData Then
                    sData.Select
                    ActiveCell.Offset(1, -1).Activate
                    Lin = ActiveCell.Row
                    Col = Plan2.Cells(Lin, Cells.Columns.Count).End(xlToLeft).Column
                    Range("F22") = Cells(Lin, Col).Value
                    Range("F23") = Cells(Lin + 1, Col).Value
                    Range("F24") = Cells(Lin + 2, Col).Value
                    Range("E21").Select
                End If
            Else
                MsgBox "Data não encontrada!", vbInformation
            End If
        Else
            MsgBox "Nome não encontrado!", vbInformation
        End If
    End If
End If
End Sub


 

Avaliação..xlsx

Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!