Continuaremos agora com o problema das buscas. Desta vez veremos como acumular valores em uma busca para verificar se uma quantidade mínima foi atingida. Utilizarei o mesmo exemplo dos dois tutoriais anteriores para facilitar a visualização.
Desta vez queremos conferir se a quantidade de projetos necessária foi prevista. Sabemos, no exemplo, que serão necessários 10 projetos (informado na célula G5). Veja a solução por acumulação:
Sub BuscaProdQtde()
Dim prod As String
Dim resp As String
Dim atual As String
Dim lin As Integer
Dim quant As Integer
Dim quant_atual As Integer
‘Informamos a quantidade procurada:
quant = Cells(5, COL_Proc)
resp = “”
quant_atual = 0
lin = INILIN
Do While lin <= (INILIN + NUM_Fornece – 1)
atual = Cells(lin, COL_Dados)
If atual = Cells(4, COL_Proc) Then
quant_atual = quant_atual + Cells(lin, COL_Quant)
End If
lin = lin + 1
Loop
If quant_atual = 0 Then
resp = “não encontrado”
ElseIf quant_atual < quant Then
resp = “quantidade insuficiente”
Else resp = “quantidade OK”
End If
Cells(6, COL_Proc) = resp
End Sub
Até o próximo tutorial.
Pingback: VBA™ para Excel™ 11: como escrever novas funções para o Excel | Ricardo Trevisan
Pingback: VBA™ para Excel™ 14: vetores e matrizes | Ricardo Trevisan