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

 时间:2026-02-12 00:07:22

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 宏 - 如何将常规表格转化成透视表格?

  • 文档部分内容包含文档检查器无法删除的个人信息
  • excel中使用vba将区域设置成一个变量
  • Excel 非空单元格用什么函数表示
  • Excel 2016 英文版 开启宏
  • Excel:vlookup+match搭配
  • 热门搜索
    精华怎么用 肉粽子的肉怎么腌制 白带发黄是怎么回事 平面图怎么画 树状图怎么画 间接引语怎么改 stories怎么读 日记怎么写 星海钢琴怎么样 三文鱼怎么吃