У меня есть такой лист, он спускается на множество строк, но это всего лишь фрагмент. Я хочу, чтобы пользователь ввел значение, назвал его «x», и в первой строке, начиная с марта, я хочу вычесть «x» из значения в марте. Если в марте значение в марте становится равным 0, я хочу перейти к февралю и вычесть любую сумму, оставшуюся в X с февраля. Это продолжается до тех пор, пока мы не достигнем января.
Остановитесь, если x равен 0 или если больше не осталось вычесть из марта, февраля и января. С января по март значения не могут go ниже 0. У меня есть опыт кодирования в python, но я не знаком с синтаксисом VBA. Моя проблема связана с аспектом рекурсии.
Sub variance_sub()
Dim reduce As Double
reduce = InputBox("what is the Variance required?")
If reduce = 0 Then
MsgBox ("No further action required")
ElseIf reduce > 0 Then
subtraction_factor = Range("T7").Value
Range("T7").Value = WorksheetFunction.Max(Range("T7").Value - reduce, 0)
reduce = WorksheetFunction.Max(reduce - subtraction_factor, 0)
Else
Range("T7").Value = Range("T7").Value + reduce
End If
End Sub