透视表转记录(完整数据行)
这个一个简单的EXCEL透视表处理工具,批量将透视表数据转换成完整的记录行,方便数据的二次使用。
基于vba宏编写,打开运行,需要启用宏,才能正常工作。
处理代码如下:
Sub copy_Click()
'
' copy_Click 宏
'
' 快捷键: Ctrl+r
'
'定义 起始和结束单元变量
Dim start_range, end_range As String
'对起始和结束单元单元格进行赋值,取A4和B4的值
start_range = Range("A4").Value
end_range = Range("B4").Value
'定义 4个行列偏移量,相对于A1单元
Dim c1, r1, c2, r2 As Long
c1 = Range(start_range).Column - 1
r1 = Range(start_range).Row - 1
c2 = Range(end_range).Column - 1
r2 = Range(end_range).Row - 1
'行循环,从起始行到结束行
For i = r1 To r2
'列循环,从起始列到结束列
For j = c1 To c2
'当本行单元格内容为空,且上行单元格不为空时,将上行单元格赋值到本行单元格
If Range("A1").Offset(i, j) = "" And Range("A1").Offset(i - 1, j) <> "" Then
' Range("A1").Offset(i, j).Select
Range("A1").Offset(i, j) = Range("A1").Offset(i - 1, j)
End If
'相当于 j++
Next j
'相当于 i++
Next i
'操作完成输出提示,对话框
MsgBox ("已整理完毕!")
End Sub