Excel精英培训网

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

[已解决]报表拆分

[复制链接]
发表于 2017-5-13 14:02 | 显示全部楼层 |阅读模式
总表中的数据,按照分类全部拆分到各sheet中,在总表中添加删除数据,分表中自动更改。详见附件。谢谢!
最佳答案
2017-5-13 16:30
炽天使520 发表于 2017-5-13 16:17
可以用我中文名称的那个类别吗?用代码的话不宜查找。

你把类别里面只填写中文名
不要写代码
就可以了
我修改了代码

工作簿1.rar

24.97 KB, 下载次数: 12

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-5-13 14:11 | 显示全部楼层
工作簿1.rar (29.45 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2017-5-13 15:11 | 显示全部楼层
本帖最后由 chart888 于 2017-5-13 15:28 编辑
  1. Private Sub CommandButton1_Click()
  2. On Error Resume Next

  3. Application.ScreenUpdating = False
  4. Application.DisplayAlerts = False
  5. Dim Arr, Rng As Range, Sht As Worksheet, Dic As Object
  6. Dim k, t, Str As String, i As Long, lc As Long

  7. Arr = ThisWorkbook.Worksheets("总表").Range("A3").CurrentRegion.Value
  8. lc = UBound(Arr, 2)
  9. Set Rng = Rows(2)
  10. Set Dic = CreateObject("Scripting.Dictionary")
  11. For i = 3 To UBound(Arr)
  12.     Str = Arr(i, 5)
  13.         If Not Dic.Exists(Str) Then
  14.             Set Dic(Str) = Cells(i, 1).Resize(, lc)
  15.         Else
  16.             Set Dic(Str) = Union(Dic(Str), Cells(i, 1).Resize(, lc))
  17.         End If
  18. Next
  19.     k = Dic.Keys
  20.     t = Dic.Items
  21. With Sheets
  22.     For i = 0 To Dic.Count - 1
  23.         Set Sht = .Item(k(i))
  24.             If Sht Is Nothing Then
  25.                 .Add(After:=.Item(.Count)).Name = k(i)
  26.                 Set Sht = ActiveSheet
  27.             Else
  28.                 Sht.Cells.Clear
  29.             End If
  30.     Rng.Copy Sht.Range("A1")
  31.     t(i).Copy Sht.Range("A2")
  32.     Sht.Cells.EntireColumn.AutoFit
  33.     Set Sht = Nothing
  34. Next
  35. End With
  36. Sheets(1).Activate

  37. Application.ScreenUpdating = True
  38. Application.DisplayAlerts = True
  39. End Sub
复制代码

工作簿1.zip

21.33 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2017-5-13 16:17 | 显示全部楼层

可以用我中文名称的那个类别吗?用代码的话不宜查找。
回复

使用道具 举报

发表于 2017-5-13 16:24 | 显示全部楼层
炽天使520 发表于 2017-5-13 16:17
可以用我中文名称的那个类别吗?用代码的话不宜查找。

什么意思?每看懂
回复

使用道具 举报

发表于 2017-5-13 16:30 | 显示全部楼层    本楼为最佳答案   
炽天使520 发表于 2017-5-13 16:17
可以用我中文名称的那个类别吗?用代码的话不宜查找。

你把类别里面只填写中文名
不要写代码
就可以了
我修改了代码

工作簿1.zip

24 KB, 下载次数: 12

回复

使用道具 举报

发表于 2020-12-11 08:15 | 显示全部楼层
换了一种写法,更简单一些


参考帖子:http://c.raqsoft.com.cn/article/1607325308043
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 06:39 , Processed in 1.888194 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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