Do While Loop with Cell Offset Addition



我正在与Do While循环作斗争。在尝试了几种方法之后,我现在得到了一个无效的限定符错误。

块中代码的目标是找到范围E3:E15的最小值,然后在F3:F15范围内将其右侧的单元格加1。

退出条件(单元格F2(是F3:F15和C3:C15的总乘积。一旦F2达到或超过小区G2(静态目标值(,则该目标已经达到。

Dim MinRange As Range
Dim targetcell As String
Set MinRange = Worksheets("Sheet1").Range("E3:E15")
Do While Range("F2").Value < Range("G2").Value
targetcell = Application.WorksheetFunction.Min(MinRange).Offset(0, 1).Address
Range(targetcell) = Range(targetcell).Value + 1
Loop

您可以使用Match来定位最小值和偏移量:

Dim MinRange As Range, m
Set MinRange = Worksheets("Sheet1").Range("E3:E15")
Do While Range("F2").Value < Range("G2").Value
m = Application.Match(Application.Min(MinRange), MinRange, 0)
With MinRange.Cells(m).Offset(0, 1)
.Value = .Value + 1
End with
Loop

最新更新