对于循环不筛选列中的每个单元格

时间:2019-02-24 00:07:09

标签: vba for-loop

enter image description here

现在我有一张桌子,每个人在最适合他们的性格上都排在1-5位。

我试图创建一个可以通过数据透视表操作的表,并且试图通过vba构造该表

到目前为止,我已经成功地完成了每个成员的工作,命名并创建了一个列1-5的列。我需要做的是遍历第一张图片中的每一行,并对每个排名执行匹配功能,以查看每行中每个排名的列号是多少。然后,我需要将该数字输入到类别位置下的第二张图像中。

到目前为止,仅对我的某些行执行了此操作。 它只执行173行,这是第一张图像/表中的行数

enter image description here

enter image description here

但是,我已经修改了代码,因此它应该对(173 * 5)行执行匹配功能。我不确定为什么不只在173停下来对每一行都做不到

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)
For Each cell In rng
    Set rng3 = rng2.Offset(P)
        Debug.Print rng3.Address
    For i = 1 To 5

        Z = Application.WorksheetFunction.Match(i, rng3, 0)
        Worksheets("Sheet2").Range("A3").Offset(P, 10) = Z
        P = P + 1
    Next i
    P = 0
Next cell
End Sub

0 个答案:

没有答案