- 23 Jul 2019 às 17:00
#45917
Estou com o seguinte problema:
Tenho uma base de dados que limpo todo dia a fim de extrair valores. No intervalo "B1:B3" há utilização da fórmula "=SOMASE" a partir das condições apresentadas no intervalo "A1:A3"
Entretanto, a cada dia há um nº variável de linhas e, via VBA, estou tentando implementar uma contagem de nº de linhas presentes na coluna A (Sempre preenchida) para definir o intervalo que a fórmula "=SOMASE" vai buscar dados.
Consegui fazer a contagem via VBA sem problemas. Estou com dificuldades de aplicar a variável criada para contar as linhas na formula "=SUMIF" do VBA. Dá alguma erro que não consigo de maneira alguma solucionar.
Sendo assim, segue abaixo:
01) Disposição dos dados na planilha
02) Código atual que estou tentando usar
____________________________________________
01)
A B
1 Y 51 [=SOMASE($A$5:$A$10;A1;$B$5:$B$10)]
2 Z 23 [=SOMASE($A$5:$A$10;A2;$B$5:$B$10)]
3 Y 12 [=SOMASE($A$5:$A$10;A3;$B$5:$B$10)]
4
5 Y 21
6 Y 21
7 Z 11
8 X 12
9 Z 12
10 Y 9
02) Código utilizado para contagem
Sub SomaSe_Condicional()
' Contar ultima linha da coluna "A"
' Aplicar SOMASE
Dim ultimalinha As Long
ultimalinha = Range("A" & Rows.Count).End(xlUp).Row
Range("B1").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A1","B5:" & "B" & ultimalinha) 'ERRO
Range("B2").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A2","B5:" & "B" & ultimalinha) 'ERRO
Range("B3").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A3","B5:" & "B" & ultimalinha) 'ERRO
End Sub
Obs: No caso acima, a contagem de linha é igual a 10
Tenho uma base de dados que limpo todo dia a fim de extrair valores. No intervalo "B1:B3" há utilização da fórmula "=SOMASE" a partir das condições apresentadas no intervalo "A1:A3"
Entretanto, a cada dia há um nº variável de linhas e, via VBA, estou tentando implementar uma contagem de nº de linhas presentes na coluna A (Sempre preenchida) para definir o intervalo que a fórmula "=SOMASE" vai buscar dados.
Consegui fazer a contagem via VBA sem problemas. Estou com dificuldades de aplicar a variável criada para contar as linhas na formula "=SUMIF" do VBA. Dá alguma erro que não consigo de maneira alguma solucionar.
Sendo assim, segue abaixo:
01) Disposição dos dados na planilha
02) Código atual que estou tentando usar
____________________________________________
01)
A B
1 Y 51 [=SOMASE($A$5:$A$10;A1;$B$5:$B$10)]
2 Z 23 [=SOMASE($A$5:$A$10;A2;$B$5:$B$10)]
3 Y 12 [=SOMASE($A$5:$A$10;A3;$B$5:$B$10)]
4
5 Y 21
6 Y 21
7 Z 11
8 X 12
9 Z 12
10 Y 9
02) Código utilizado para contagem
Sub SomaSe_Condicional()
' Contar ultima linha da coluna "A"
' Aplicar SOMASE
Dim ultimalinha As Long
ultimalinha = Range("A" & Rows.Count).End(xlUp).Row
Range("B1").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A1","B5:" & "B" & ultimalinha) 'ERRO
Range("B2").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A2","B5:" & "B" & ultimalinha) 'ERRO
Range("B3").Formula = "=SUMIF(A5:" & "A" & ultimalinha,"A3","B5:" & "B" & ultimalinha) 'ERRO
End Sub
Obs: No caso acima, a contagem de linha é igual a 10