excel制作表格的方法中如何把不同表单中,分品种的产量统计起来

查看: 2121|回复: 11
如何将人员总表单按分类汇总到不同工作表
阅读权限10
在线时间 小时
将工作总表中的信息,按不同部门分类导入到对应工作表(工作表名为部门名称)中,总表更新后,可以时时刷新数据表
(144.15 KB, 下载次数: 9)
21:44 上传
21:46 上传
点击文件名下载附件
13.95 KB, 下载次数: 32
阅读权限30
在线时间 小时
这个是拆分表格,论坛有一大堆的例子的
阅读权限90
在线时间 小时
随便找的代码,套的
(25.2 KB, 下载次数: 96)
09:38 上传
点击文件名下载附件
阅读权限10
在线时间 小时
随便找的代码,套的
很便捷,谢谢
阅读权限95
在线时间 小时
Sub test()
&&Dim r%, i%
&&Dim arr, brr
&&Dim d As Object
&&Dim lk(1 To 6)
&&Set d = CreateObject(&scripting.dictionary&)
&&Application.ScreenUpdating = False
&&Application.DisplayAlerts = False
&&With Worksheets(&人员总表&)
& & r = .Cells(.Rows.Count, 1).End(xlUp).Row
& & arr = .Range(&c1:c& & r)
& & For j = 1 To 6
& && &lk(j) = .Columns(j).ColumnWidth
& & Next
& & For i = 2 To UBound(arr)
& && &If Not d.exists(arr(i, 1)) Then
& && &&&Set d(arr(i, 1)) = .Cells(1, 1).Resize(1, 6)
& && &End If
& && &Set d(arr(i, 1)) = Union(d(arr(i, 1)), .Cells(i, 1).Resize(1, 6))
& & Next
&&End With
&&For Each ws In Worksheets
& & If ws.Name && &人员总表& Then
& && &ws.Delete
& & End If
&&Next
&&For Each aa In d.keys
& & Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
& & With ws
& && &.Name = aa
& && &d(aa).Copy .Range(&a1&)
& && &.Columns(&a:f&).AutoFit
& && &For j = 1 To UBound(lk)
& && &&&.Columns(j).ColumnWidth = lk(j)
& && &Next
& & End With
&&Next
End Sub
复制代码
阅读权限95
在线时间 小时
借楼主题目练练手。
19:01 上传
点击文件名下载附件
33.96 KB, 下载次数: 65
阅读权限95
在线时间 小时
Sub test11()
&&Dim cnn As New ADODB.Connection
&&Dim rs As New ADODB.Recordset
&&Dim sql As String
&&Dim mybook As String
&&Application.ScreenUpdating = False
&&Application.DisplayAlerts = False
&&mybook = ThisWorkbook.FullName
&&With cnn
& & If Application.Version = &11.0& Then
& && &.Provider = &microsoft.jet.oledb.4.0&
& && &.ConnectionString = &extended properties=&&excel 8.0;HDR=YES;&&;data source=& & mybook
& & Else
& && &.Provider = &microsoft.ACE.oledb.12.0&
& && &.ConnectionString = &extended properties=&&excel 12.0;HDR=YES;&&;data source=& & mybook
& & End If
& & .Open
&&End With
&&sql = &select distinct 部门 from [人员总表$c1:c]&
&&rs.Open sql, cnn, adOpenKeyset, adLockOptimistic
&&arr = Application.Transpose(Application.Transpose(rs.GetRows()))
&&rs.Close
&&For Each ws In Worksheets
& & If ws.Name && &人员总表& Then
& && &ws.Delete
& & End If
&&Next
&&For i = 1 To UBound(arr)
& & sql = &select * from [人员总表$a1:f] where 部门=& & arr(i)
& & rs.Open sql, cnn, adOpenKeyset, adLockOptimistic
& & Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
& & With ws
& && &ws.Name = arr(i)
& && &For j = 0 To rs.Fields.Count - 1
& && &&&.Cells(1, j + 1) = rs.Fields(j).Name
& && &Next
& && &.Range(&a2&).CopyFromRecordset rs
& & End With
& & rs.Close
&&Next
End Sub
复制代码
阅读权限95
在线时间 小时
提供字典和ADO两种方步。
19:13 上传
点击文件名下载附件
34.63 KB, 下载次数: 78
阅读权限95
在线时间 小时
& & & & & & & &
SQL拆分表,一行标题,有字段名
阅读权限10
在线时间 小时
随便找的代码,套的
这个不错,要支持一下,把最后字段改为动态的效果就更佳了
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师拒绝访问 | www.excelpx.com | 百度云加速
请打开cookies.
此网站 (www.excelpx.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(fa3a8e-ua98).
重新安装浏览器,或使用别的浏览器查看:60863|回复:12
高级工程师
一个Excel文件有多个工作表,现在要将每个工作表单独保存为一个文件。
该怎么操作最好?
本帖最后由 Nico_Lv 于
17:27 编辑
可以按以下方法操作:
1、右键想要保存为新工作簿的工作表,选择“移动或复制”
2、在“工作簿”下拉菜单选择“新工作簿”
(31.81 KB)
3、选择确定之后,成功将“Sheet2”创建到新的工作簿(原工作簿将不再有Sheet2),如下:
(23.39 KB)
51CTO论坛有移动端啦!扫码下载体验就送月会员哦!
高级工程师
这个方法也非常麻烦,需要先建立新的Excel文件。
有没有什么命令和第三方工具能够实现这个功能:
一个Excel文件中的各个工作表能够自动保存为单独的Excel文件。
高级工程师
这个问题已经基本解决,我在网上找到了解决方法。
右键任意一个工作表标签,在弹出的下拉列表中选择查看代码。即弹出代码窗口。
点击菜单插入-模块 在弹出的模块对话框中 输入以下代码:
& &Private Sub 分拆工作表()
& && & Dim sht As Worksheet
& && & Dim MyBook As Workbook
& && & Set MyBook = ActiveWorkbook
& && & For Each sht In MyBook.Sheets
& && && &&&sht.Copy
& && && &&&ActiveWorkbook.SaveAs Filename:=MyBook.Path & &\& & sht.Name, FileFormat:=xlNormal& &&&'将工作簿另存为EXCEL默认格式
& && && &&&ActiveWorkbook.Close
& && & Next
& && & MsgBox &文件已经被分拆完毕!&
& &End Sub
单击运行-运行子过程|窗体 几秒过后 弹出提示窗口“文件已被拆分完毕”
但是,拆分成为单独的Excel工作簿文件是Excel2003的xls格式,代码如何改进才能够让拆分成为单独的Excel工作簿文件是Excel2007的xlsx格式?
我来回答上面这位朋友的问题,如果希望拆分为Excel的xlsx格式,请将“xlNormal”修改为“xlOpenXMLWorkbook”即可。
引用:原帖由 tangyong_delphi 于
18:06 发表
这个方法也非常麻烦,需要先建立新的Excel文件。
有没有什么命令和第三方工具能够实现这个功能:
一个Excel文件中的各个工作表能够自动保存为单独的Excel文件。 ... 是啊,这个只是针对单个工作簿,而且不是经常操作的一个动作,有些动作还是需要通过VBA解决
51CTO论坛有移动端啦!扫码下载体验就送月会员哦!
高级工程师
十分感谢各位高手的指点,但现在碰到了新的问题。
我发现如果Excel工作簿的名字中含有“.”,拆分后的Excel文件就没有文件扩展名。虽然我可以通过DOS命令Rename进行批量增加修改文件扩展名,但我还是希望VBA代码能够解决掉这个问题。
引用:原帖由 tangyong_delphi 于
12:06 发表
十分感谢各位高手的指点,但现在碰到了新的问题。
我发现如果Excel工作簿的名字中含有“.”,拆分后的Excel文件就没有文件扩展名。虽然我可以通过DOS命令Rename进行批量增加修改文件扩展名,但我还是希望VBA代码能够解决掉 ... 你可以在命名的时候把扩展名加上,就是在sht.Name后加上 & &.xlsx&& &&&你试试吧,注意&前后各有个空格
高级工程师
感谢各位高手的指点,问题完美解决!
用工具软件啊,超简单。
教程见百度经验:仅用三步将Excel文件按工作表分割为单独文件,
软件下载见:
工具有问题,最后一个表无法拆分出来了,希望改进
51CTO学院讲师
将一个工作簿文件分发成不同工作簿文件,用sheet的名称命名新的excel工作簿
Sub SaveAllSheet()
Dim TPathAsString, XSheet As Worksheet
TPath =ActiveWorkbook.Path
Application.ScreenUpdating= False
For EachXSheetInActiveWorkbook.Sheets
XSheet.Copy
ActiveWorkbook.SaveAsFilename:=TPath& &\& &ActiveSheet.Name& &.xls&
ActiveWindow.Close
Application.ScreenUpdating= True
确实很实用,刚才用了一下,棒~~要不还得一个一个复制拆分多麻烦。EXCEL表格,前面是型号 后面是数量,一个表格中型号数量都不同,如何快速提取并统计他们的数量,如下图_百度知道
EXCEL表格,前面是型号 后面是数量,一个表格中型号数量都不同,如何快速提取并统计他们的数量,如下图
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:32
获赞数:180
利用合并计算,看图首先,你要点击计算结果存放的开始单元格,然后点击“数据”菜单-“合并计算”,点击1,浏览到要进行计算的区域,然后点击2,在3前面打勾,确定4.
来自电脑网络类芝麻团
采纳数:4045
获赞数:11225
参与团队:
单击E1数据》合并计算》引用位置 A:B函数 求和标签 最左列确定后即可得到结果
来自电脑网络类芝麻团
采纳数:11767
获赞数:35296
参与团队:
=SUMIF(A:A,E1,B:B)
下拉复制公式
<span class="wgt-replyer-all-uname
" data-href="https://zhidao.baidu.com/usercenter?uid=374e05e0741628
<span class="wgt-replyer-all-card-name3 wgt-replyer-all-card-names" data-href="https://zhidao.baidu.com/usercenter?uid=374e05e0741628
采纳数:523
获赞数:871
擅长:暂未定制
你可以先排序,然后分类汇总&&
Dreaming4Me
Dreaming4Me
采纳数:47
获赞数:147
选中数据-插入 -数据透视表
把字段分别放入行标签与值
用分类汇总,记得在分类汇总之前先用型号排序,分类汇总方式选择求和。。。
其他5条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 excel表格新手入门视频 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信