【问题标题】:How to offset a range in a for loop如何在for循环中偏移范围
【发布时间】:2023-03-28 14:23:01
【问题描述】:

我想为 rng1 中的每个单元格抵消我的 rng2

现在在我的 Rng2 中,Q 默认设置为零

每次我循环一个新单元格(我的第一个 for 循环)时,我希望 Q 增加 1,因为对于 Rng 中的每个单元格,我想在新行上匹配。

在我的代码中我应该把 Q = Q + 1 放在哪里 我的其余代码工作正常,我只想将我的 rng2 偏移一行,每次我循环遍历 rng1 中的一个新单元格时。任何帮助将不胜感激

    Sub StructurePivot2()
    Dim X As Variant, Var As Double, D As Integer, P As Integer, Q As Integer, Z As Integer, ws As Worksheet, rng3 As Range, category As Variant, rng As Range, cell As Variant, i As Integer, rng2 As Range
    Set ws = Worksheets("Sheet1")
    Set rng = Worksheets("Sheet1").Range("A2:A173")
    Set rng2 = Worksheets("Sheet1").Range("B2:AI2").Offset(Q)
    P = 0
        For Each cell In rng

                        For i = 1 To 5

                          Z = Application.WorksheetFunction.Match(i, rng2, 0)
                          Worksheets("Sheet2").Range("A3").Offset(P, 13) = Z
                          P = P + 1

                     Next i

Next cell
End Sub

【问题讨论】:

    标签: vba for-loop


    【解决方案1】:

    在循环中:

    Next i
    set rng2 = rng2.Offset(1, 0) 'Advance to next row
    Next cell
    

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 2018-12-20
      • 2022-12-16
      • 2021-10-25
      • 2011-09-07
      • 1970-01-01
      相关资源
      最近更新 更多