Excel 宏 - 如何将常规表格转化成透视表格?

2025-11-10 14:10:08

1、打开源数据(表1),可以看到这个表格是用于计算PPM的,第一个表格的数据是不良零件的数量。第二个表格的数据是总的交付零件数量。数据是月度的统计数据结果。

Excel 宏 - 如何将常规表格转化成透视表格?

2、为了便于后续程序编写,需要稍微将表格做下改动。主要是将合并的单元格拆开,重复填写相关内容。如本例中将年份重复拆分到每个单元格中。

Excel 宏 - 如何将常规表格转化成透视表格?

3、在Excel中新的表(表2)中,创建透视表格数据标题。如本例中,标题信息为“年”、“月”、“客户”、“不良数量”、“交付数量”总共5列。

Excel 宏 - 如何将常规表格转化成透视表格?

4、编程前的准备工作就做好了,按Alt + F11进入宏页面。如图,鼠标右键单击任何一个Excel表名,点击【插入】,然后点击【模块】,进入宏编程界面。

Excel 宏 - 如何将常规表格转化成透视表格?

5、在编程界面中,编写如下程序:

Sub data()

Dim i As Integer

Dim j As Integer

Dim year As Integer

Dim month As Integer

Dim ngqty  As Integer

Dim dlqty As Long

Dim cust As String

Sheets(1).Select

For i = 14 To 19

    For j = 2 To 40

        If Cells(i, j) <> "" And Cells(i, j) <> 0 Then

            year = Cells(12, j)

            month = Cells(13, j)

            ngqty = Cells(i - 11, j)

            dlqty = Cells(i, j)

            cust = Cells(i, 1)

            Sheets(2).Select

            Range("A" & Range("A65536").End(xlUp).Row + 1) = year

            Range("B" & Range("B65536").End(xlUp).Row + 1) = month

            Range("C" & Range("C65536").End(xlUp).Row + 1) = cust

            Range("D" & Range("D65536").End(xlUp).Row + 1) = ngqty

            Range("E" & Range("E65536").End(xlUp).Row + 1) = dlqty

        End If

        Sheets(1).Select

    Next j

Next i

        

End Sub

Excel 宏 - 如何将常规表格转化成透视表格?

6、程序编写完成后,按快捷键F5执行程序。当然如果源数据不同,程序需要做相应的调整。程序执行完后,在表2就获得整齐的可以透视的数据表了。

Excel 宏 - 如何将常规表格转化成透视表格?

7、选择表2数据,就可以快速进行透视数据分析了。是不是很高效呢?

Excel 宏 - 如何将常规表格转化成透视表格?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢