Boa noite.
Tentei adaptar a função cont.ses em vba excel, porém a mesma não está fazendo o calculo.
Quando utilizo na planilha do excel, funciona perfeitamente, mas quando tentei adaptar para dentro do vba excel, o resultado está retornando como zero.
Alguém já conseguiu adaptar esta função.
Segue a sintaxe que utilizei.
Sub Analise_Dizimo()
Dim MyAnalise, myAnalise1, myAnalise2, myTeste, myTeste1, myTeste2 As Long
On Error GoTo TRATAERRO
With Sheets("Dizimo_Acumulado")
'MyMes = WorksheetFunction.SumIf(.Range("E:F"), Frm_PagamentoDizimo.Mes_Referencia, .Range("F:F")) ', Frm_PagamentoDizimo.Mes_Referencia, .Range("F:F"))
MyAnalise = WorksheetFunction.SumIf(.Range("E:F"), Frm_PagamentoDizimo.Mes_Referencial, .Range("F:F")) 'SUMIF(invent?rio!a:g,A4,cadastro!g:g)
Frm_PagamentoDizimo.Diz_Periodo = MyAnalise '& " " & " Dizimistas cadastrados na Comunidade de Santa Rita at? 2019"
'MyVar1 = WorksheetFunction.CountIf(.Range("N:N"), "SR-1-Recadastro")
'Diz_Periodo = MyTeste
Frm_PagamentoDizimo.Diz_Periodo = Format(Frm_PagamentoDizimo.Diz_Periodo, "R$ 0.00")
myAnalise1 = WorksheetFunction.CountIf(.Range("e:e"), Frm_PagamentoDizimo.Mes_Referencial.Caption) ', Frm_PagamentoDizimo.Mes_Referencial)
'"=COUNTIF(C[-2],R[-6]C[-2])" "=COUNTIF(C[-3],RC[-1])"
'ActiveCell.FormulaR1C1 = "=COUNTA(C[-8])-1"
'COUNTIF(C[-2],RC[-2])
'myTeste1 = WorksheetFunction.CountA(.Range("b:b")) - 1
Frm_PagamentoDizimo.Qtde_Dz = myAnalise1
myAnalise2 = WorksheetFunction.SumIf(.Range("E:F"), Frm_PagamentoDizimo.Mes_Referencial, .Range("F:F")) 'SUMIF(invent?rio!a:g,A4,cadastro!g:g)
Frm_PagamentoDizimo.Diz_Periodo = MyAnalise '& " " & " Dizimistas cadastrados na Comunidade de Santa Rita at? 2019"
myAnalise3 = WorksheetFunction.CountIfs(.Range("f:F"), "" < "" & Frm_PagamentoDizimo.Med_Dizi.Caption, .Range("e:e"), Frm_PagamentoDizimo.Mes_Referencial) 'SUMIF(invent?rio!a:g,A4,cadastro!g:g)
Frm_PagamentoDizimo.MenorMedia = myAnalise3
'"=COUNTIFS(Dizimo_Acumulado!C[-3],""<""&Dizimo_Acumulado!R2C8,Dizimo_Acumulado!C[-4],Dizimo_Acumulado!R2C7)"
'=CONT.SES(Dizimo_Acumulado!F:F;"<"&Dizimo_Acumulado!$H$2;Dizimo_Acumulado!E:E;Dizimo_Acumulado!$G$2)
'myTeste1 = ActiveCell.FormulaR1C1 = "=COUNTA('Dizimo_Acumulado'!e:e)-1"
'myTeste1 = WorksheetFunction.CountA(.Range("b:b")) - 1
'ActiveCell.FormulaR1C1 = "=COUNTA('Santa Rita'!B:B)-1"
'Frm_PagamentoDizimo.Percentual = Val(Frm_PagamentoDizimo.Qtde_Dz) / Val(myANALISE1)
'Frm_PagamentoDizimo.Percentual = Format(Frm_PagamentoDizimo.Percentual, "0.000%")
'Me.Col_Moedas = CDbl(Me.Col_CCentavos.Value * Me.Label16.Caption) + CDbl(Me.Col_DCentavos.Value * Me.Label17.Caption) + CDbl(Me.Col_VCCentavos.Value * Me.Label18.Caption) + CDbl(frm_pagamentos.Co_CqCentavos.Value * Me.Label19.Caption) + CDbl(Me.Col_Ureal * Me.Label20.Caption)
'Frm_Dizimista.PercNovSR1 = Val(Frm_Dizimista.Srita_Sr1Novo) / Val(Frm_Dizimista.TotalSr1)
'Frm_Dizimista.PercNovSR1 = Format(Frm_Dizimista.PercNovSR1, "0.000%")
Exit Sub
'trataErro:
End With
With Sheets("Santa Rita")
'myTeste2 = WorksheetFunction.CountA(.Range("b:b")) - 1
'ActiveCell.FormulaR1C1 = "=COUNTA('Santa Rita'!B:B)-1"
Exit Sub
Frm_PagamentoDizimo.Percentual = Val(myAnalise1) / Val(myTeste1)
Frm_PagamentoDizimo.Percentual = Format(Frm_PagamentoDizimo.Percentual, "0.000%")
TRATAERRO:
End With
End Sub
Segue o link com a planilha exemplo
https://drive.google.com/file/d/1vkuwl5 ... sp=sharing
Postado : 08/01/2020 7:03 pm