Notifications
Clear all

MACRO SOMASE E BATIMENTO

4 Posts
2 Usuários
0 Reactions
920 Visualizações
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Pessoal Bom Dia!

Podem me ajudar com uma Macro?
Em anexo esta a explicação do que preciso.

Abraços,

 
Postado : 12/05/2015 7:09 am
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá

Na célula F3 da planilha batimanto insira a fórmula:

=SOMA(SE(RAZÃO!$B$2:$B$271=BATIMENTO!A3;SE(ESQUERDA(RAZÃO!$F$2:$F$271;2)="TR";RAZÃO!$G$2:$G$271)))

Por se tratar de uma fórmula matricial, confirme com as teclas CTR+SHIFT+ENTER. Em seguida arraste para as demais células.

Boa sorte.

 
Postado : 12/05/2015 2:38 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

luizhcosta Bom Dia!

Obrigado pela ajuda, porem na verdade gostaria de uma Macro, pois via formula nao funcionara na ABA batimento visto que a Macro que monta a planilha apaga todas as linhas preenchidas.

Abraços,

 
Postado : 13/05/2015 5:12 am
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Galera!

Com muito esforço eu consegui fazer a macro. Quebrei a cabeça mas deu certo:

Sub SOMA()

Dim DATA_BAT_ATU As Date
Dim DATA_RAZ_ATU As Date

    
n_LASTROW_RAZ = Sheets("RAZÃO").Range("A1048576").End(xlUp).Row
n_LASTROW_BAT = Sheets("BATIMENTO").Range("A1048576").End(xlUp).Row

If n_LASTROW_BAT < 3 Then
    n_LASTROW_BAT = 3
End If

If n_LASTROW_RAZ < 2 Then
    n_LASTROW_RAZ = 2
End If

Sheets("BATIMENTO").Select
x_RANGE = "F3:F" & n_LASTROW_BAT
Range(x_RANGE).Select
Selection.ClearContents
Range("G3").Select


For n_BAT = 3 To n_LASTROW_BAT
    DATA_BAT_ATU = Sheets("BATIMENTO").Cells(n_BAT, 1).Value
    n_SOMA = 0

    For n_RAZ = 2 To n_LASTROW_RAZ
        DATA_RAZ_ATU = Sheets("RAZÃO").Cells(n_RAZ, 2).Value
        
        If DATA_BAT_ATU = DATA_RAZ_ATU Then
            x_TR = Left(Sheets("RAZÃO").Cells(n_RAZ, 6).Value, 2)
            
                If x_TR = "TR" Then
                    n_SOMA = n_SOMA + Sheets("RAZÃO").Cells(n_RAZ, 7).Value
                End If
        End If

        If DATA_RAZ_ATU > DATA_BAT_ATU Then
            Sheets("BATIMENTO").Cells(n_BAT, 6).Value = n_SOMA
            Exit For
        End If
    Next
 Next
 
End Sub
 
Postado : 15/05/2015 7:20 am