Excel精英培训网

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

[已解决]需要按产品种类自动分成不同的工作表

[复制链接]
发表于 2016-11-17 13:44 | 显示全部楼层 |阅读模式
小弟不才,想向各位大神请教一下有没有快捷的方法,能够自动按照已分类好的产品名称分别创建新的工作表,并将此产品名称的所有明细转移至对应的工作表中,谢谢各位。
最佳答案
2016-11-17 15:11
请注意,产品名称中的"/" "*"不能出现在工作表名称中。

11.16订单改.zip

28.14 KB, 下载次数: 7

发表于 2016-11-17 15:11 | 显示全部楼层    本楼为最佳答案   
请注意,产品名称中的"/" "*"不能出现在工作表名称中。

11.16订单改.rar

45.62 KB, 下载次数: 14

评分

参与人数 1 +9 收起 理由
望帝春心 + 9 来学习~

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-11-18 09:07 | 显示全部楼层
grf1973 发表于 2016-11-17 15:11
请注意,产品名称中的"/" "*"不能出现在工作表名称中。

大神!想问一下您这个是通过vba来实现的吗,因为每天都会有这样的表格需要整理,这样就节省了很大的时间啊,谢谢了!~
回复

使用道具 举报

发表于 2016-11-18 09:09 | 显示全部楼层
是的。只能通过vba。代码在工作表里。
  1. Sub 生成()
  2.     Call 删除
  3.     arr = [a1].CurrentRegion
  4.     Set d = CreateObject("scripting.dictionary")
  5.     For i = 2 To UBound(arr)
  6.         x = Replace(Replace(arr(i, 1), "/", ""), "*", "×")
  7.         If Not d.exists(x) Then
  8.             Set d(x) = Union([a1:g1], Cells(i, 1).Resize(1, 7))
  9.         Else
  10.             Set d(x) = Union(d(x), Cells(i, 1).Resize(1, 7))
  11.         End If
  12.     Next
  13.     For Each x In d.keys
  14.         Worksheets.Add after:=Sheets(Sheets.Count)
  15.         With ActiveSheet
  16.             .Name = x
  17.             d(x).Copy .[a1]
  18.             .Columns.AutoFit
  19.         End With
  20.     Next
  21.     Sheets(1).Activate
  22. End Sub

  23. Sub 删除()
  24.     Dim sh As Worksheet
  25.     Application.DisplayAlerts = False
  26.     For Each sh In Worksheets
  27.         If sh.Index > 1 Then sh.Delete
  28.     Next
  29.     Application.DisplayAlerts = True
  30.         
  31. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-11-18 09:33 | 显示全部楼层
grf1973 发表于 2016-11-18 09:09
是的。只能通过vba。代码在工作表里。

太谢谢了,我再研究一下您写的代码, 这样真的是节省了很大的时间,受教了!万分感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 21:39 , Processed in 0.366293 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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