Notifications
Clear all

Maior valor de uma coluna entre os registros do funcionário

4 Posts
2 Usuários
0 Reactions
1,914 Visualizações
(@eric-jhon)
Posts: 17
Active Member
Topic starter
 

Tenho um Banco de Dados de registro de férias onde preciso saber qual o último exercício das férias que o funcionário gozou. Numa coluna tenho o código do funcionário e na outra tenho o exercício.

Preciso de um código que procure na coluna IDServidor o código do funcionário e armazene o exercício referente a essa linda. Depois continue pesquisando e se encontrar novamente o mesmo IDServidor ele compare com o primeiro exercício encontrado e só substitua se for maior e depois continue procurando, caso contrário ele continue procurando.

Desde já agradeço!

 
Postado : 24/10/2015 3:53 pm
(@messiasmbm)
Posts: 223
Estimable Member
 

esse código da a maior data de uma coluna se eu entendi direito o problema é que vc não colocou uma planilha de exemplo para entendermos melhor como na maioria dos casos ,espero ter ajudado...

Sub ver_data_maior()
 Set guia = Sheets("Plan1")
    Dim coluna, linha, linhadados As Date, valor_celula As Date
     linhadados = 0
    linha = 1 ' linha que começa a pesquisa
    coluna = 1 'coluna em que se escontra as datas 1=A 2=B 3=C...
     Sheets("Plan1").Select
     Application.ScreenUpdating = False
    With guia
        While .Cells(linha, coluna).Value <> Empty
            valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste
             With Sheets("plan1")
                 If valor_celula < linhadados Then
                 linhadados = valor_celula
                 End If
               End With
            linha = linha + 1
        Wend
    Application.ScreenUpdating = True
    MsgBox "sua menor data é  " & linhadados & " !"
    End With
 End Sub

 
Postado : 24/10/2015 4:50 pm
(@messiasmbm)
Posts: 223
Estimable Member
 

ou maior data

Sub ver_data_maior()
 Set guia = Sheets("Plan1")
    Dim coluna, linha, linhadados As Date, valor_celula As Date
     linhadados = 0
    linha = 1 ' linha que começa a pesquisa
    coluna = 1 'coluna em que se escontra as datas 1=A 2=B 3=C...
     Sheets("Plan1").Select
     Application.ScreenUpdating = False
    With guia
        While .Cells(linha, coluna).Value <> Empty
            valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste
             With Sheets("plan1")
                 If valor_celula > linhadados Then
                 linhadados = valor_celula
                 End If
               End With
            linha = linha + 1
        Wend
    Application.ScreenUpdating = True
    MsgBox "sua maior data é  " & linhadados & " !"
    End With


 End Sub
 
Postado : 24/10/2015 4:57 pm
(@eric-jhon)
Posts: 17
Active Member
Topic starter
 

Obrigado pela ajuda. E perdoe-me por não ter postado uma planilha teste. Sou novo aqui no Fórum. Mas então, consegui resolver meu problema da seguinte forma:

Sub AnoExercício()
TotalRegistro = Worksheets("BD-Férias").UsedRange.Rows.Count

Exercício.Value = ""
MaiorExercício = 0

For i = 2 To TotalRegistro 'IDServidor
    If Worksheets("BD-Férias").Cells(i, 2) = IDServidor.Text Then
        V_Exercício = Worksheets("BD-Férias").Cells(i, 3)
        If MaiorExercício < V_Exercício Then
            MaiorExercício = V_Exercício
        End If
    End If
Next

Exercício.Value = MaiorExercício + 1

End Sub

Mesmo assim muito obrigado pela ajuda!
Deus abençoe!

 
Postado : 24/10/2015 5:54 pm