找到第一个第二个第三个...石南花值和单元格值

时间:2016-08-19 11:39:07

标签: excel excel-formula

我需要帮助解决excel中的问题。我有一张包含相对于单元格值(image1)enter image description here

的分布的工作表

我需要将此信息放在像这样的表格中(image2)enter image description here

我已经设法让新工作表中的所有值重复必要的次数,如图2所示,但我找不到找到这些值的标题(我只能自动检索第一个非零值)值标题,而不是其他标题)

任何人都可以帮我解决这个问题吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

我接受了这个挑战。试一试,看看它是不是你想要的。 它不会打印标题值

Option Explicit

Sub PivotData()

Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction

With ActiveSheet

    'Count the number of rows needed
    Dim countRange As Range
    Set countRange = Range("D2", .Cells(.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row, .Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column))
    Dim rCount As Long
    rCount = wf.Count(countRange)

    'Loop through countRange and fill array
    Dim r As Range
    Dim i As Long
    ReDim arr(rCount - 1, 2) As Variant
    For Each r In countRange
        If r > 0 Then
            arr(i, 0) = .Cells(r.Row, 1).Value
            arr(i, 1) = .Cells(1, r.Column).Value
            arr(i, 2) = .Cells(r.Row, r.Column).Value
            i = i + 1
        End If
    Next r

    'Print array back to the worksheet 3 rows after the last used row
    .Cells(.Rows.Count, 1).End(xlUp).Offset(3, 0).Resize(rCount, 3) = arr
End With

End Sub

与往常一样,可能有更好的方法。但我相信这对你有用。 : - )