Vba: como adicionar if entre duas datas


Você pode usar a seguinte sintaxe em VBA para calcular a soma se as células estiverem entre duas datas:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

Este exemplo específico somará os valores no intervalo B2:B9 somente quando a data no intervalo A2:A9 estiver entre a data de início na célula E1 e a data de término na célula E2 .

A soma será então exibida na célula E3 .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como adicionar If entre duas datas em VBA

Suponha que temos o seguinte conjunto de dados contendo informações sobre o número total de produtos vendidos em datas diferentes em uma loja de varejo:

Digamos que queremos calcular a soma das vendas apenas para datas entre 07/01/2023 e 26/01/2023 .

Podemos criar a seguinte macro para fazer isso:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula E3 contém o valor 16 .

Representa a soma dos valores da coluna vendas onde a data está entre 07/01/2023 e 26/01/2023.

Podemos verificar se isso está correto calculando manualmente a soma dos valores da coluna Vendas onde o valor correspondente na coluna Data está entre 7/01/2023 e 26/01/2023:

Soma das vendas: 3 + 7 + 6 = 16 .

Isso corresponde ao valor calculado pelo VBA.

Observe que se você alterar os valores das datas de início e término nas células E1 e E2 , respectivamente, e executar a macro novamente, ela calculará a soma das vendas das novas datas.

Nota : Presume-se que os valores da coluna de data já estejam formatados como datas no Excel.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como escrever funções SUMIF e SUMIFS
VBA: Como escrever funções COUNTIF e COUNTIFS
VBA: Como escrever funções AVERAGEIF e AVERAGEIFS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *