Boa noite Bruno,
Os cálculos das médias ficaram perfeitos (show de bola)!
Então, eu também tenho que calcular a média ponderada por produto considerando todas as empresas, tomei a liberdade de incluir algumas linhas:
No módulo 1:
Range("I1").Value = "Média"
WsDados.Columns("A:A").Copy Sheets("Auxiliar").Range("F1")
WsDados.Columns("C:C").Copy Sheets("Auxiliar").Range("G1")
WsDados.Columns("G:G").Copy Sheets("Auxiliar").Range("H1")
ActiveSheet.Range("$F$1:$H$" & Nlin).RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
No módulo 3:
Range("A1:I" & Nlin).Copy 'delimitei até a coluna "I"
Inseri um 4º módulo, igual ao módulo 2 e só alterei essas linhas:
Soma = Application.WorksheetFunction.SumIfs( _
WsDados.Range("D:D"), WsDados.Range("C:C"), Range("C" & i), WsDados.Range("A:A"), Range("A" & i)) - Aqui deixei como critério somente a coluna produto e data (só que está somando errado, não sei por que, pois os intervalos, critérios estão corretos)
Range("E" & i).FormulaR1C1 = _
"=SUMPRODUCT(Dados!C[1];--(Dados!C[-2]=LC[2]);--(Dados!C[-4]=LC[1]))" - Aqui inseri essa fórmula para calcular a média ponderada por produto incluindo todas as lojas (só que aqui a macro para e dá erro), não faço ideia como, pois na célula a fórmula funciona direito.
Cells(i, 9) = CDbl(Range("E" & i)) / CDbl(Soma) - Aqui mudei a coluna para o resultado ficar na coluna "I". - Aqui ok.
Quando eu desabilito a linha da Somases e da Somarproduto (no módulo 4), o código roda , faz cálculo das médias por loja/produto/data e cola lá na pasta Relatório inclusive as colunas para o cálculo da média considerando todas as lojas, somente o cálculo que não está sendo feito.
No final do módulo 2 inserir um Call MediaTL (chamar o módulo 4).
Não tenho ideia onde estou errando.
Fico muito grato pela sua ajuda, para mim está sendo um aprendizado.
Seguem os arquivos.
Postado : 24/03/2017 3:26 pm