Página 1 de 1

SOMAMASES NO COM CODIGO VBA

Enviado: Qua Mar 11, 2020 10:15 am
por leonardo092004
Bom dia preciso de um ajuda,
tentei de muitas maneiras e não consegui fazer o SOMASES pelo VBA com informações de uma planilha com a outra

O que eu preciso, era que soma-se total da base de calculo de acordo com os numero das fiscais , do CST e do CFOP da aba C170 na coluna base de da aba C190..

Segue anexo uma planilha teste ..

Desde ja agradeço!!

Re: SOMAMASES NO COM CODIGO VBA

Enviado: Qua Mar 11, 2020 3:04 pm
por Reinaldo
Uma possibilidade

Código: Selecionar todos

Sub SomaNF()
Dim x As Integer, y As Integer
Dim uLinC190 As Integer, uLinC170 As Integer

uLinC170 = Sheets("C170").Cells(Rows.Count, "C").End(xlUp).Row
uLinC190 = Sheets("C190").Cells(Rows.Count, "C").End(xlUp).Row
    For x = 3 To uLinC170
        For y = 3 To uLinC190
            If Sheets("C190").Cells(y, 3).Value = Sheets("C170").Cells(x, 3).Value Then
                Sheets("C190").Cells(y, 6).Value = Sheets("C190").Cells(y, 6).Value + Sheets("C170").Cells(x, 6).Value
                Sheets("C190").Cells(y, 7).Value = Sheets("C190").Cells(y, 7).Value + Sheets("C170").Cells(x, 7).Value
            End If
        Next
    Next
End Sub
Post Duplicado?? https://www.tomasvasquez.com.br/forum/v ... =21&t=7487

Re: SOMAMASES NO COM CODIGO VBA

Enviado: Qua Mar 11, 2020 5:37 pm
por leonardo092004
Obrigado pelo retorno..

o que acontece é que a planilha onde vou inserir esse condigo ela importar arquivo sped..
então nem sempre a planilha1 ou 2 ou 3 vai levar o nome de C190 ou seja elas variam.. e esse código precisa executar somente na planilha C190..

tentei usar dessa forma, mas não funcionou ..

Sub Somar()

Dim linha As Long
Dim linha2 As Long


linha = 2
linha2 = 2

Dim base As Double
Dim icms As Double


While Worksheets("C190").Cells("A" & linha).Value = ""
linha2 = 2
base = 0
icms = 0
While Sheets("C170").Cells("B" & linha2).Value <> ""
If Sheets("C170").Cells("C" & linha2).Value = Sheets("C190").Cells("C" & linha).Value Then
If Sheets("C170").Cells("D" & linha2).Value = Sheets("C190").Cells("D" & linha).Value Then
If Sheets("C170").Cells("E" & linha2).Value = Sheets("C190").Cells("E" & linha).Value Then

base = base + Sheets("C170").Cells("F" & linha2).Value
icms = icms + Sheets("C170").Cells("G" & linha2).Value
Sheets("C190").Cells("F" & linha).Value = base
Sheets("C190").Cells("G" & linha).Value = icms


End If

End If

End If

linha2 = linha2 + 1
Wend

linha = linha + 1

Wend



End Sub