Ir ao conteúdo
  • Cadastre-se

Excel vba excel identificar célula


Posts recomendados

Boa Tarde.

Estou com uma dúvida, mas não sei se o VBA é a melhor opção para me ajudar... ontem comecei a estudar VBA que me pareceu a melhor solução.🤯

O meu objetivo é criar uma planilha com dados de uma escola para saber que matéria o aluno está cursando onde os únicos dados de entrada são o nome do aluno a ser pesquisado e a turma em que ele está inscrito.

Após algumas tentativas descobri um código para localizar a célula com o nome do aluno, mas isso não é exatamente o que quero fazer meu objetivo mesmo é dar os dois dados de entrada e em uma célula ao lado aparecer a matéria em que o aluno está inscrito.

Qual comando devo usar para ser mais prático?

Como na imagem a baixo quero fazer com que o dado nome do aluno seja inserida na celula B3 e a turma na célula B5 (lembrando que a turma é definida pela aba) clicar em pesquisar e o nome da matéria aparecer na célula E8.

Não sei se esse é o jeito mais eficiente, mas acredito que deva sanar minha dúvida.

Se não for o jeito mais eficiente por favor me diga o melhor caminho😅

image.png.c9ddde1a8f43ad91cbf920a563627ce7.png

image.png.66d51233bc00f0e82b655ef8ae9c8c4b.png

 

Mais para frente quando eu entender como funciona o VBA nesse caso específico quero adicionar a opção de inserir turma onde será criada uma aba com alunos e as matérias em que eles estão inscritos.

Muito obrigado e agradeço desde já.🥰

Link para o comentário
Compartilhar em outros sites

@Ceifador1998  A macro retorna uma mensagem com o nome da matéria se o aluno for encontrado.

 

Para escrever na planilha em vez de mostrar a mensagem é só atribuir a função a uma célula ou usar como fórmula.

 

Sub Macro()
    MsgBox Materia("João", 5)
End Sub

Function Materia(Nome As String, Serie As String) As String
    Dim Plan    As Worksheet
        
    For Each Plan In ThisWorkbook.Worksheets
        If Right(Trim(Plan.Name), 5) = "Série" Then
            If Serie = Trim(Split(Plan.Name, "°")(0)) Then
                Dim R   As Range
                Set R = Plan.Cells.Find(Nome, , xlValues, xlWhole)
                    If Not R Is Nothing Then
                        Materia = Plan.Cells(1, R.Column)
                        Exit For
                    End If
            End If
        End If
    Next Plan
End Function

 

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!