Excel 宏 - 如何将常规表格转化成透视表格?
1、打开源数据(表1),可以看到这个表格是用于计算PPM的,第一个表格的数据是不良零件的数量。第二个表格的数据是总的交付零件数量。数据是月度的统计数据结果。

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

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

4、编程前的准备工作就做好了,按Alt + F11进入宏页面。如图,鼠标右键单击任何一个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

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

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