如何汇总一个文件夹中所有工作簿sheet1表A1单元格的内容(vba)

如桌面新建文件夹,新建excel工作表命名为1,A1为5;新建excel工作表命名为2,A1为10;新建excel工作表命名为3,汇总工作表1、2,结果如下:A1,5A2... 如桌面新建文件夹,
新建excel工作表命名为1,A1为5;
新建excel工作表命名为2,A1为10;
新建excel工作表命名为3,汇总工作表1、2,结果如下:
A1,5
A2,10
展开
 我来答
草原上之狼
高粉答主

2019-10-16 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4009万
展开全部
新建一个工作薄,将所有EXCEL表的文件名填到笑辩A列中,复制下面VBA代码到工作薄中,保存为excel.xls后执行蔽升扒

Sub xlscopy()
Application.ScreenUpdating = False
'Arr数组由所有EXCEL文件名组成
arr = [A1:A10]
For i = 1 To UBound(arr)
Workbooks.Open "文件夹路径\"宏昌 & arr(i, 1)
Workbooks(arr(i)(1)).Activate
For j = 1 To ActiveWorkbook.Sheets.Count
Sheets(j).Copy After:=Workbooks("excel.xls").Sheets(Workbooks("excel.xls").Sheets.Count)
Next
Workbooks(arr(i, 1)).Close False
Next
End Sub
追问
运行报错,麻烦按照我的要求写一个
lala9214
2019-10-16 · TA获得超过837个赞
知道小有建树答主
回答量:1598
采纳率:66%
帮助的人:400万
展开全部
汇总2007版及以拆带上excel

Sub 汇总数据()
Dim r&, c&, Filename$, wb As Workbook, sht As Worksheet, erow&, fn$, arr As Variant
r = Sheets(1).Range("A65536").End(xlUp).Row
Application.ScreenUpdating = False
Filename = Dir(ThisWorkbook.Path & "\顷御含*.xlsx")
Do While Filename <> ""
If Filename <雀笑> ThisWorkbook.Name Then
fn = ThisWorkbook.Path & "\" & Filename
Set wb = GetObject(fn)
Set sht = wb.Worksheets(1)
ThisWorkbook.Sheets(1).Cells(r, 1) = sht.Cells(1, 1).Value
wb.Close False
r = r + 1
End If
Filename = Dir '取得其他工作簿名称
Loop
Application.ScreenUpdating = True
End Sub
更多追问追答
追问
大神你好,你给出的代码已达到我的要求,追问下,如果是想汇总指定位置的单元格是修改哪里,比如说我想要汇总P列数据
追答
ThisWorkbook.Sheets(1).Cells(r, 1) = sht.Cells(1, 1).Value
Cells(1, 1)就是指定的A1,如果要改成P列的数据,那还需要修改不少的,如果只是P列的一个单元格,那你把它的行号和列号写入Cells(行号,列号)就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hgxyz616
2019-10-16 · 超过28用户采纳过TA的回答
知道答主
回答量:95
采纳率:100%
帮助的人:26万
展开全部

用这碧橘个合并软件让慧渗,快坦脊速高效

追问
我倾向vba,因为一般好点的软件都要收钱
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式