Você está na página 1de 2

Quero um programa que vá ler dados incutados por um usuário na aba Painel, estes

dados serão inseridos da coluna C,até a coluna J da coluna A até coluna H, a partir
da linha 2, depois disso quero armazenar estes dados em uma aba Registros. A partir
destes dados

Necessito de um código de VBA que capture o documento digitado da aba Painel,


pesquise pela tabela inteira em Registros, e após o valor ser encontrado, que seja
exibido os outros valores : Nome, Orgao, Andar, Responsavel, Data, Hora, Empresa e
que de acordo com a data e hora mais recente, seja exibida na tela

Aqui está um exemplo de código em VBA que pode ajudá-lo a realizar a tarefa
descrita:

vbnet
Copy code
Sub ProcurarRegistros()
Dim DocDigitado As String
Dim Registros As Range
Dim Celula As Range
Dim Encontrado As Boolean
Dim DataHoraMaisRecente As Date
Dim NomeMaisRecente As String
Dim OrgaoMaisRecente As String
Dim AndarMaisRecente As String
Dim ResponsavelMaisRecente As String
Dim EmpresaMaisRecente As String

'Obter o documento digitado da aba Painel


DocDigitado = Sheets("Painel").Range("A1").Value

'Definir a tabela de registros


Set Registros = Sheets("Registros").Range("A2:F100")

'Percorrer a tabela de registros


For Each Celula In Registros
'Verificar se o valor do documento digitado foi encontrado
If Celula.Value = DocDigitado Then
'Obter as informações do registro correspondente
Encontrado = True
If Celula.Offset(0, 1).Value > DataHoraMaisRecente Then
DataHoraMaisRecente = Celula.Offset(0, 1).Value
NomeMaisRecente = Celula.Offset(0, -1).Value
OrgaoMaisRecente = Celula.Offset(0, 2).Value
AndarMaisRecente = Celula.Offset(0, 3).Value
ResponsavelMaisRecente = Celula.Offset(0, 4).Value
EmpresaMaisRecente = Celula.Offset(0, 5).Value
End If
End If
Next Celula

'Exibir as informações do registro mais recente correspondente ao documento


digitado
If Encontrado Then
MsgBox "Nome: " & NomeMaisRecente & vbCrLf _
& "Órgão: " & OrgaoMaisRecente & vbCrLf _
& "Andar: " & AndarMaisRecente & vbCrLf _
& "Responsável: " & ResponsavelMaisRecente & vbCrLf _
& "Data: " & Format(DataHoraMaisRecente, "dd/mm/yyyy") & vbCrLf _
& "Hora: " & Format(DataHoraMaisRecente, "hh:mm:ss") & vbCrLf _
& "Empresa: " & EmpresaMaisRecente
Else
MsgBox "Documento não encontrado na tabela de registros."
End If
End Sub
Neste exemplo, é assumido que a tabela de registros começa na célula A2 da aba
Registros, e contém as seguintes colunas: Nome, DataHora, Orgao, Andar, Responsavel
e Empresa. O código procura pelo valor digitado na célula A1 da aba Painel, e
retorna as informações do registro mais recente correspondente, de acordo com a
data e hora. Se o valor não for encontrado na tabela de registros, uma mensagem de
erro é exibida. Note que este código pode precisar ser adaptado para se adequar à
estrutura exata de sua planilha.

Você também pode gostar