Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3420|回复: 12

[已解决]请教高手

[复制链接]
发表于 2012-2-22 14:16 | 显示全部楼层 |阅读模式
原表如下:
1.JPG

用什么方法可以快速变成下表:
2.JPG
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-2-22 14:21 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-2-22 14:30 | 显示全部楼层
aagyjuigyuigyjuigh

工作簿1.rar

4.07 KB, 下载次数: 16

回复

使用道具 举报

发表于 2012-2-22 14:51 | 显示全部楼层    本楼为最佳答案   
2-22-3.gif
回复

使用道具 举报

发表于 2012-2-22 15:01 | 显示全部楼层
  1. Sub a()
  2.     Dim i As Integer, j As Integer, k As Integer
  3.         For i = [a65536].End(3).Row To 2 Step -1
  4.             j = Cells(i, 256).End(xlToLeft).Column / 2 - 2
  5.                 If j > 0 Then
  6.                     Rows(i + 1).Resize(j).Insert
  7.                     For k = 1 To j
  8.                         Cells(i, 4 + 2 * k - 1).Resize(1, 2).Copy Range("c1").End(xlDown).Offset(1, 0).Resize(1, 2)
  9.                     Next k
  10.                 End If
  11.         Next i
  12.      Range("e:z").Delete
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-2-22 15:30 | 显示全部楼层
多谢,多谢。。。。高手啊,高手啊。。。。。
回复

使用道具 举报

发表于 2012-2-22 15:47 | 显示全部楼层
按 ALL+F11,插入——模块——复制以下代码到窗口,最后按F5运行。
Sub 嘻嘻哈哈()
Dim x As Byte
For x = 2 To UsedRange.Rows.Count * 2
If Not Range("e" & x) = "" Then
Rows(x + 1).Insert
Range("e" & x & ":f" & x).Cut Range("c" & x + 1 & ":d" & x + 1)
End If
If Not Range("g" & x) = "" Then
Rows(x + 2).Insert
Range("g" & x & ":h" & x).Cut Range("c" & x + 2 & ":d" & x + 2)
End If
Next
End Sub
回复

使用道具 举报

发表于 2012-2-22 16:00 | 显示全部楼层
bukeei 发表于 2012-2-22 14:30
aagyjuigyuigyjuigh

12-2-22-1.gif
回复

使用道具 举报

 楼主| 发表于 2012-2-22 16:12 | 显示全部楼层
历害。。。还可以这样复制数据。。。
回复

使用道具 举报

 楼主| 发表于 2012-2-22 16:21 | 显示全部楼层
请教版主,如果数据后面有个总计值,最后归类数据后,总计值如何保留下来?

工作簿1.zip

4.25 KB, 下载次数: 2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-30 01:47 , Processed in 0.373080 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表