在我们实际工作中,很多地方都会遇到或多或少的数据整理问题,根据不同的需要,转置的方式也有很多差别,本文分享的数据转置工具可能正好可以帮到你
有这样的
还有这样的
转置工具长成这样子
(一)工具制作方法:
第一步:EXCEL开发工具——设计模式——插入——ActiveX控件——按钮
第二步:右键单击插入的按钮,改一个需要的名字,顺便在属性中把名称改掉(本文中两个按键分别改为清空数据和数据转置)
改了名字之后比较直观
当然也可以不改
第三步:双击插入的按键,输入如下代码
这是两个按键的代码,注意分割线
第四步:把做好的工具另存为启用宏的工作薄
(二)代码,方便复制党
Private Sub 清空数据_Click()
Range("A:F,H:ZZ").ClearContents '清空除G列外的所以数据
End Sub
Private Sub 数据转置_Click()
Dim value_rows As Integer, value_columns As Byte, a As Integer, b As Byte, i As Integer, f As Integer, x As Byte
Range("H:ZZ").ClearContents '清除H列至ZZ列的数据
value_rows = Range(Range("A20000"), Range("A20000").End(xlUp)).Row '获取数据最后一行行号
value_columns = Range(Range("G1"), Range("G1").End(xlToLeft)).Column '获取数据最后一列列号
x = Range("G5") '获取数据转置点位数
i = 1
f = 1
For a = 1 To value_rows \ x + 1
For b = 1 To x
Cells(i, 1).Resize(1, x).Copy Cells(f, 9 + (b - 1) * value_columns)
i = i + 1
Next
f = f + 1
Next
End Sub
(三)代码解析
1、代码窗口中的绿色中文字体为对应行代码注解
2、本程序主要通过套用两个for循环,对数据进行复制粘贴
注:1、程序会抓取G5单元格的数值,作为转置依据
2、本程序最多可处理6列20000行数据,客官也可自行修改
另:第一次写,不喜勿喷
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。