Excel Sheet
У меня есть следующий код, который соответствует одной строке в листе. Мой вопрос, как написать это так, чтобы он непрерывно применял код за строкой, пока мы не достигнем последней строки? Затем, как бы я написал динамический c код, в котором, если бы я добавил новые строки, он распознал, чтобы применить код к этим новым строкам.
Для контекста, этот код делает то, что он принимает пользовательский ввод, вычитает это значение с марта до тех пор, пока не будет больше пользовательского ввода для вычитания или если марш имеет значение 0. Если марш равен 0 и мы не вычли весь пользовательский ввод, мы переходим к февралю и делаем то же самое, и так до тех пор, пока мы не достигнем января.
Sub variance_sub()
Dim reduce As Double, c As Range, diff As Double
reduce = InputBox("what is the Variance required? (Pressure use a positive number)")
Set c = ActiveSheet.Range("T7") 'march cell
If reduce = 0 Then
MsgBox "No further action required"
ElseIf reduce > 0 Then 'This is for a pressure'
Do
If c.Value >= reduce Then
c.Value = c.Value - reduce
reduce = 0
Else
diff = reduce - c.Value
c.Value = 0
reduce = diff
End If
If c.Column > 1 Then Set c = c.Offset(0, -1) 'move left if we can
Loop While reduce > 0 And c.Column >= 18
Else
c.Value = c.Value + reduce
End If
End Sub