我有一个表,其中的行由名称组成,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
答案 0 :(得分:1)
可能的问题是P
在内部循环中递增,并且从未重新启动回到0。关于不匹配错误,是因为找不到匹配项。因此,尝试将每个P
的{{1}}返回0
并将cell
写入立即窗口 Ctrl + G < / kbd>查看错误在哪里:
rng3.Address