Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
Por LEO2004
Posts Avatar
#54219
Boa tarde Pessoal,

Estou fazendo um código para realizar uma soma com condições:
preciso que na planilha anexo.
tetei usar o sumif, sumifs e por o sum, mas não consegui..

na coluna "E" tenho valores que são "1" ou "0", que são condições;
na coluna "AB" tenho valores que tenho que usar como condições;
na coluna "X" possui os valores que preciso somar;

Exemplificando:

Preciso que some os valores da coluna "X" quando o valor da célula na coluna "E" for igual a "1" e quando o valor da célula na coluna AB for qualquer valor maior que "0" ou "".

eu tentei o seguinte algorítimo abaixo mas não consegui reproduzir, segue anexo a planilha onde consta no modulo 2 o código.

desde já agradeço!

Sub ValorAçãoICMS()

Dim C100 As Worksheet

Set C100 = ThisWorkbook.Sheets("C100")
lin = 2

'Coluna das soma do icms

Dim colX As Range
Set colX = C100.Range("X:X")

'Coluna da verificação do pis/cofins
Dim AB As Range
Set AB = C100.Range("AB" & lin)

'Coluna de condição
'Dim E As Range
'Set E2 = C100.Range("E" & lin)


Do Until Worksheets("C100").Cells(lin, 3).Value = ""



If Worksheets("C100").Cells(lin, 5).Value = "1" Then
If Worksheets("C100").Cells(lin, 28).Value > "0" Then


Worksheets("C100").Cells(15, 11).Value = WorksheetFunction.Sum(colX)


Else

lin = lin + 1

End If
End If
Loop


End Sub
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Baratela
Avatar
#54220
Boa tarde!

Acho que a minha solução não é tão elegante, mas deu certo.

Adicionei uma coluna a mais para fazer a verificação das condições [combinei a função E() e OU() dentro do SE()].
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#54221
Experimente:
Código: Selecionar todos
Sub ValorAçãoICMSV2()
 Dim LR As Long
 LR = Cells(Rows.Count, 5).End(3).Row
 [K15] = Evaluate("SUMIFS(X2:X" & LR & ",E2:E" & LR & ",1,AB2:AB" & LR & ", "">0"")")
End Sub
Solução via fórmula:
Código: Selecionar todos
=SOMASES(X2:X8;E2:E8;1;AC2:AC8;">0")
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord