VBA代码二维表转一维线性表
在工作中经常会把二维表转为一维




方法/步骤
原始数据(从A1单元格开始黏贴):
类别 代码 1月销售 2月销售 3月销售 4月销售 5月销售
A A1 1 2 3 4 5
A A2 2 3 4 6
A A3 3 4 5 6 7
A A4 4 6 7 8
B B1 5 6 7 8 9
B B2 6 7 8 10
B B3 8 9 10 11
B B4 8 9 10 11 12
B B5 9 10 11 12 13
1、ALT+F11打开VBE窗开插入代码
Public Sub TEST()
Dim arr
Dim i, j, n
arr = Range("A1:G10")
n = 1
For i = 2 To UBound(arr)
For j = 3 To 7
Sheets("sheet2").Cells(n, 1) = Sheets("sheet1").Cells(i, 1)
Sheets("sheet2").Cells(n, 2) = Sheets("sheet1").Cells(i, 2)
Sheets("sheet2").Cells(n, 3) = Sheets("sheet1").Cells(1, j)
Sheets("sheet2").Cells(n, 4) = Sheets("sheet1").Cells(i, j)
n = n + 1
Next
Next
End Sub
sheet1为二维表所在的工作表,sheet2为生成的线性表。
2、返回到视图执行宏