Ir ao conteúdo
  • Cadastre-se

Excel Localizar valor com 2 variavél


Ir à solução Resolvido por Midori,

Posts recomendados

Boa tarde

 

Preciso criar uma forma de ao inserir o nome e a data o excel localiza-se esse valor na planilha e iria colocar a seta em cima desse valor.

 

Segue em anexo a planilhaAvaliação.xlsx

Boa tarde, como são muitas datas, se possível so aparecer na caixa de seleção as datas ligadas ao nome selecionado.

 

Obs: Pode alterar  que for necessário para a fórmula

Link para o comentário
Compartilhar em outros sites

Em 23/04/2021 às 15:54, LucasExcel disse:

Preciso criar uma forma de ao inserir o nome e a data o excel localiza-se esse valor na planilha e iria colocar a seta em cima desse valor.

Que tipo de seta deve ser colocada?

 

E qual valor deve ser localizado? É na planilha dados? Nessa planilha tem várias colunas e diversos valores.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

@Midori Me expressei mal. Deixa eu tentar explicar novamente. Por favor ignorar a explicação do primeiro post.

 

Vamos la, 

O objetivo é poder, ao escolher um nome (célula E5)  e uma data  (célula L5) na aba "Historico"  que as informações (as duas linhas abaixo do nome, exemplo no anexo 1) na aba "dados" sejam copiados e colados na tabela da  aba  "Historico" na célula D18 em diante. Dessa forma ao colar os dados na aba "Historico" eu vou conseguir o gráfico dos dados (valores) antigos 

Anexo 1.png

2Avaliação.xlsx

Link para o comentário
Compartilhar em outros sites

@LucasExcel Com Find e FindNext dá para encontrar a linha com as duas condições de nome e data assim,

Function ProcuraLinha(Nome As String, Data As Date) As Long
    Dim Celula      As Range
    Dim Linha       As Long
    Dim Encontrou   As Boolean
    
    Set Celula = Sheets("Dados").[A:A].Find( _
        What:=Nome, LookIn:=xlValues, LookAt:=xlWhole)
        
    If Not Celula Is Nothing Then
        Linha = Celula.Row
        Do
            If Celula.Offset(0, 1) = Data Then
                Linha = Celula.Row
                Encontrou = True
                Exit Do
            End If
            Set Celula = Sheets("Dados").[A:A].FindNext(Celula)
        Loop While Celula.Row > Linha
    End If
    If Encontrou = True Then ProcuraLinha = Linha
End Function

 

Teste a função no Change da planilha, o critério de nome está na célula E5 e data em L5,

If Not Intersect([E5,L5], Target) Is Nothing Then
    Dim Linha As Long
    Linha = ProcuraLinha([E5], [L5])
    If Linha <> 0 Then
        Sheets("Historico").[E18:AC19].ClearContents
        Sheets("Dados").Cells(Linha + 1, 1).Resize(2, 18).Copy
        Sheets("Historico").[D18].PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End If
End If

 

Link para o comentário
Compartilhar em outros sites

  • Solução
29 minutos atrás, LucasExcel disse:

Da para colocar em um botão?

Dá sim. Crie uma Sub para chamar a função e atualizar, pode ser assim,

 

Sub Atualizar()
    Dim Linha As Long
    Linha = ProcuraLinha([E5], [L5])
    If Linha <> 0 Then
        Sheets("Historico").[E18:AC19].ClearContents
        Sheets("Dados").Cells(Linha + 1, 1).Resize(2, 18).Copy
        Sheets("Historico").[D18].PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End If
End Sub

 

Aí é só atribuir essa macro ao botão.

 

  • Obrigado 1
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!