如何偏移整行

时间:2019-02-19 05:18:52

标签: vba

我有一个表,其中的行由名称组成,Y轴具有类别。每行在某些列下填充了1到5的数字。我正在开发一个宏,该宏可以根据我要搜索的行号和number(1-5)来匹配列位置

现在,尽管我在使用什么行号,但我还是根据第一行中的值来获取列的位置。我可能正在尝试搜索第三行,但第一行却得到了匹配的数字

谁能告诉我如何确保我的范围偏移到新行

Sub StructurePivot2()
Dim X As Variant, Var As Double, P 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")
Set rng3 = rng2.offset(P)
P = 0

For Each cell In rng
    Set rng3 = rng2.Offset(P)
    For i = 1 To 5
        Z = Application.WorksheetFunction.Match(i, rng3, 0)
        Worksheets("Sheet2").Range("A3").Offset(P, 3) = Z
        P = P + 1
    Next i
Next cell
End Sub

1 个答案:

答案 0 :(得分:1)

可能的问题是P在内部循环中递增,并且从未重新启动回到0。关于不匹配错误,是因为找不到匹配项。因此,尝试将每个P的{​​{1}}返回0并将cell写入立即窗口 Ctrl + G < / kbd>查看错误在哪里:

rng3.Address