怎么把多个excel的数据excel表格汇总数据到一个excel里

多个Excel工作簿中的数据汇总到一个Excel中(1)
多个Excel工作簿中的数据汇总到一个Excel中(1)
除非注明,文章均为原创,转载请保留链接: ,VBA交流群。
今天我们来讲Excel VBA中最常用的一个功能——汇总多个Excel表格。假如你的手头有很多格式完全相同的表格,记录着同一类的信息,像是各个分公司人事发来的各地员工信息表、各个分公司当日或当月的业绩情况、各个门店当日的销售业绩等等,你需要把这些工作薄汇总到一张表格里以便统计分析之用。如果工作簿比较少,比如只有个位数的分公司或者门店,这时你手动的复制粘贴也不会花太多时间,或者你所在的公司是个大公司,有自己的系统,每天的报表都走系统不用你费心,但是如果你的公司达不到上面的要求呢?你手头有几十上百个表要汇总,你会怎么办?这种看起来很麻烦的事情对Excel VBA或所谓的宏来说就是小菜一碟了。好了,不说废话了,看例子。
假设你是某个公司总部的人事,现在你手头上有来自全国各分公司的员工信息,需要将其汇总到一张表,简单起见,就假设有5张表。第一步,将所有的5张表都放到一个文件夹下,之后新建一个Excel工作簿,Alt+F11打开VBA编辑界面,将下面的代码复制进去
Sub HuiZong()
Dim myfile, mypath, wb
Application.ScreenUpdating = False
'关闭屏幕更新
Sheet1.UsedRange.Offset(1, 0).Clear
'清除除表头之外的所有内容
mypath = ThisWorkbook.Path
'找到当前工作簿的路径
myfile = Dir(mypath & "\*.xls*")
'遍历当前文件夹下的Excel文件
Do While myfile && ""
'当找到的文件不为空时
If myfile && ThisWorkbook.Name Then
'当找到的文件不是当前Excel工作簿时
Set wb = GetObject(mypath & "\" & myfile)
'得到dir找到的工作簿的内容,设为wb
With wb.Sheets(1)
'对找到的工作簿的sheet1进行操作
'复制wb的sheet1除第一行的所有内容
.UsedRange.Offset(1, 0).Copy Sheet1.Range("A" & Sheet1.UsedRange.Rows.Count + 1)
wb.Close False
'关闭wb工作簿且不保存
myfile = Dir
'寻找下一个Excel工作簿
Application.ScreenUpdating = True
'恢复屏幕更新
复制进去之后保存文件,然后按F5运行VBA程序,你会发现所有的5个工作簿中的内容都被汇总到当前工作簿中来了,是不是方便了很多呢?示例文件下载地址。为了照顾一些用Excel 2003版的朋友我将示例文件存为了2003的格式,但是想想吧还是与时俱进的好,所以往后的示例文件我还是直接用Excel 2007了。
这个程序的知识点主要包括,offset函数的应用,,,以及do while...loop循环,这些内容我都会在以后慢慢讲到,请朋友们继续关注。
咨询,程序开发,友链交换请联系博主
VBA QQ群:
注意!复制代码请用Ctrl+C!(window.slotbydup=window.slotbydup || []).push({
id: '3284507',
container: s,
size: '0,0',
display: 'inlay-fix'
excel怎样将一列单元格内容合并到一个单元格中
假如A列中有一列名单,现在需要将这些名单合并到一个单元格中,并用某种标点符号将其隔开,在Excel中该怎样操作呢?
方法一:用PHONETIC函数
由于A列中的名单较多,不宜用&&&或CONCATENATE函数进行合并,但可以用PHONETIC函数加辅助列进行合并。假如名单在A1:A97区域,步骤如下:
1.在辅助列中添加分隔符号。以B列为辅助列,在B1单元格中输入公式:
然后向下填充公式至A97单元格。
2.将辅助列中的公式选择性粘贴为值。
3.在目标单元格中输入下列公式即可:
=PHONETIC(B1:B97)
方法二、复制粘贴和替换
一、复制该列内容到目标单元格。
方法A:用记事本或Word
将这列名单复制到记事本或Word中,然后再复制粘贴回Excel中。这里的技巧是:不能直接选择某个单元格进行粘贴,而是要双击目标单元格或选择目标单元格后单击编辑栏,当光标在其中闪烁时再进行粘贴才能将其粘贴到一个单元格内。
方法B:利用剪贴板进行操作
1.打开Excel剪贴板:在Excel 2003中单击&编辑&Office剪贴板&;在Excel 中,选择&开始&选项卡,在&剪贴板&组中单击右下角的对话框启动器打开剪贴板。
2.选择这列名单进行复制,复制的内容即可显示在剪贴板中。
3.双击目标单元格或选择目标单元格后单击编辑栏。然后单击剪贴板中所复制的内容,该列名单即可复制到目标单元格中,如下图的C5单元格。
二、替换换行符。
用上述方法将多个单元格内容合并到一个单元格后,原来的各行内容之间还包含了一个换行符,可以用下面的方法将这些换行符替换为分隔符号:
1.选择目标单元格,按Ctrl+H打开&查找和替换&对话框。
2.选择&查找内容&右侧的文本框,按住Alt键,在数字小键盘中输入&0010&,然后再松开Alt键。在&替换为&右侧的文本框中根据需要输入某种分隔符号,如顿号、空格等,如果无需分隔各行内容,则&替换为&保留为空。单击&全部替换&即可。
需要注意的是,进行这种替换后如果紧接着要再次替换换行符,在打开&查找和替换&对话框后,Excel会&记住&要替换的换行符,这时可直接单击&全部替换&按钮。另外,之后要在工作表中再进行其他内容的查找或替换,有时即使所查找的内容明显存在于工作表中,Excel也可能会给出找不到搜索内容的提示。原因是以前在&查找内容&后输入的换行符虽然不可见,但却包含了两行,如果直接在&查找内容&后输入新的查找内容,实际上是输入到了第一行中,Excel自然会找不到搜索内容了。解决的方法是:
方法A:在&查找内容&后输入新的查找内容后,将光标定位到所输入的内容后,按下Delete键删除后面的不可见内容,再进行查找或替换。
方法B:关闭并重新启动Excel
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------
猜你感兴趣多个excel文件汇总到一个excel文件中的简单方法
我的图书馆
多个excel文件汇总到一个excel文件中的简单方法
无论你从事财务、人事或销售,都会面对多个excel文件表格的汇总问题。绝大部分同学都是逐个打开excel文件,复制粘贴到一个表格中,然后再进行汇总,如果是月报或日报,每月每天都要重复这个工作。今天兰色分享一种通用的多表汇总方法,非常简单。【例】如下图所示文件夹中,有3个子公司的报表和汇总表。要求:更新分公司文件后,汇总表会自动更新汇总。一、初始化步骤(只需要在第一次汇总前操作)1、把各分公司数据引入到汇总表中。打开分公司报表, 复制 - &打开汇总表,选择性粘贴 - &粘贴链接。然后在A列输入该公司名称。(注意在复制时,多复制些空行,这样可以在添加新车型后也可以自动更新。)2、用数据透视表生成汇总表选取合并后的数据,插入 - 数据透视表 - 调整格式。二、使用使用很简单,把新报表替换旧报表,再打开汇总表更新数据透视表即可。测试:新的一月A公司报表(为了方便测试我们把B车型销售数量改成1000)复制,粘贴到汇总文件夹内。A公司新报表复制A文件粘贴到文件夹中,替换原来的A公司文件。其他公司同A公司,直接替换各个公司旧文件即可。注意:为了防止某个公司未替换造成上个月数据的遗留,建议用空白文件把各个公司的文件先替换一下,然后再用当月文件替换。点击左下角“阅读原文”查看兰色和小妖录制的数据透视表全套+函数全套+技巧全套+VBA编程全套视频教程
馆藏&21088
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 15时,
实现的功能是把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里,并且新工作表的名称等于原Excel文件的文件名。开发环境Excel2007,但是Excel2003应该也能用,Excel2000似乎不能用。
代码片段(1)
1.&[代码]把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里&&&&
'功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称
Sub Books2Sheets()
'定义对话框变量
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'新建一个工作簿
Dim newwb As Workbook
Set newwb = Workbooks.Add
If .Show = -1 Then
'定义单个文件变量
Dim vrtSelectedItem As Variant
'定义循环变量
Dim i As Integer
'开始文件检索
For Each vrtSelectedItem In .SelectedItems
'打开被合并工作簿
Dim tempwb As Workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
'复制工作表
tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
'把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
'关闭被合并工作簿
tempwb.Close SaveChanges:=False
Next vrtSelectedItem
Set fd = Nothing
开源中国-程序员在线工具:
相关的代码(9)
0回/2423阅
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
[ASP/Basic]
0回/1032阅
[ASP/Basic]
开源从代码分享开始
zalois的其它代码}

我要回帖

更多关于 excel表格汇总数据 的文章

更多推荐

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

点击添加站长微信