Talvez isso possa ser feito com uma fórmula que emprega os tipos SUM, OFFSET e INDEX.
No entanto, não me incomodo com fórmulas complexas e recorro a ALT + F11 .
Sub DateOfShortage()
StartLine = 2
EndLine = 6
StartColumn = 3
EndColumn = 7
For Line = StartLine To EndLine
Stock = Cells(Line, 2)
For Column = StartColumn To EndColumn
Stock = Stock - Cells(Line, Column).Value
If Stock <= 0 Then
Cells(Line, EndColumn + 1).Value = Cells(1, Column).Value
Exit For
End If
Next Column
Next Line
End Sub
Dados e resultados da amostra:
SevocêadicionarumalinhaCálculoparacadaitem,comomostradoemumadesuascapturasdetela,poderáobterfacilmenteadatadesejadacomumafórmuladematriz(aindaparecemuitocomplexaparameugosto):