【问题标题】:Do While Loop with Cell Offset Addition使用单元格偏移添加执行 While 循环
【发布时间】:2020-07-06 22:27:04
【问题描述】:

我正在为 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

【问题讨论】:

  • WorksheetFunction.Min 返回一个数字,而不是Range,所以你不能在上面使用Offset

标签: excel vba


【解决方案1】:

您可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2016-05-04
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多