Excel - 如何重新格式化嵌套表?

时间:2011-09-28 16:25:46

标签: excel vba

我已经导出了这样的excel表 但我需要另一种格式:

00008BN07 item1 subitem1 2,000 6 872,320
00008LN02A item2 subitem1 2,000 10 099,340
.....
020876071 item5 subitem1 1,000 294,260
020876071 item5 subitem2 2,000 294,260
020876071 item5 subitem3 3,000 294,260

如何将第一个表重新格式化为第二个视图? Mbe一些简单的vba脚本?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果列分别为A,B和C,则分别为name,item和subitem,请尝试使用此代码。 它没有声称要尝试进行优化。 运行时,对C列进行排序,并删除C列中不包含“SubItem”的所有垃圾。

Sub FillTable()
    Dim lRowCurr As Long
    Dim lRowColA As Long
    Dim lRowColB As Long

    lRowCurr = Cells(Rows.Count, 3).End(xlUp).Row

    Do
        If InStr(1, Cells(lRowCurr, 3), "subitem") Then
            lRowColA = Cells(lRowCurr, 1).End(xlUp).Row
            lRowColB = Cells(lRowColA, 2).End(xlDown).Row

            Cells(lRowCurr, 1) = Cells(lRowColA, 1)
            Cells(lRowCurr, 2) = Cells(lRowColB, 2)
        End If

        lRowCurr = lRowCurr - 1
    Loop While lRowCurr > 0
End Sub