问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何通过VBA代码将N个EXCEL表的文件中SHEET1的A列数据汇总到一个表上

发布网友 发布时间:2023-03-18 00:29

我来回答

3个回答

热心网友 时间:2023-11-06 13:02

昨天回答了,答案被度娘吃了
今天再来过:
一、
首先把你的那几个EXCEL文件复制到同一个目录下,全选,按F2,把第一个文件重命名为
(0).xls,这样你所有的文件就都变为这个形式的了
(0).xls,(1).xls,(2).xls,(3).xls,......
二、新建一个excel文档,录制一个宏,什么都不做就结束录制,然后把这个宏的代码改成如下样子:
Sub Macro1()
'
' Macro1 Macro
' 宏由 Jal.You 录制,时间: 2011/10/11
'
' 快捷键: Ctrl+j
'
Dim tmpname, dir, selfname
Dim nRow, nCur, i, j
nCur = 1
selfname = ActiveWorkbook.name
dir = ActiveWorkbook.Path & "\"
For i = 0 To 6 '把这句话改成你实际的文件数量,如(0).xls......(100).xls,就改成For i = 0 To 100
tmpname = "(" & i & ").xls"
Workbooks.Open dir & tmpname
nRow = Workbooks(tmpname).Sheets("sheet1").Range("A65535").End(xlUp).Row
For j = 1 To nRow
Workbooks(selfname).Sheets("sheet1").Range("A" & nCur).Value = Workbooks(tmpname).Sheets("sheet1").Range("A" & j).Value
nCur = nCur + 1
Next j
Workbooks(tmpname).Close
Next i
End Sub追问我将文件名称依次命名为1.xls,2.xls......31.xls
将语句 for i=0 to 6
改写为 FOR I=1 TO 31 后
tmpname = "(" & i & ").xls"
改写为tmpname = i & ".xls"
运行宏的时候提示“下标越界”,请问是改写得不对还是什么原因

追答你开着VBA 运行,出错时点调试看程序停在哪一行
或者打个包发我邮箱kbr002@163.com

热心网友 时间:2023-11-06 13:03

1、你的意思是说有N个工作簿,每个工作簿的sheet1.........,希望在另外一个单独的工作簿中的sheet1的列汇总数据?
2、这个汇总工作簿的a列要一个总的汇总数据,还是每一行显示一个工作簿的汇总?譬如A1显示工作簿1的汇总,a2显示工作簿2的汇总......An显示工作簿n的汇总
3、工作簿个数固定吗?还是一直在变动,例如今天3个明天5个后天8个?如果这样的话,用vba需要你工作簿的名字有一定的规律。
4、这点事情,还是采纳 lapi5367 的建议,用公式吧,行数多,会有1万行嘛?要不10万行?你看着自己做吧
book1:A10000=sum(a1:a9999)
book2:A10000=sum(a1:a9999)
book3:A10000=sum(a1:a9999)
...........
bookn:A10000=sum(a1:a9999)

NEWbook:A1=[book1.xls]Sheet1!$a$10000
A2=[book2.xls]Sheet1!$a$10000
A3=[book3.xls]Sheet1!$a$10000
..........
An=[bookn.xls]Sheet1!$a$10000
An+1=sum(A1:An)

热心网友 时间:2023-11-06 13:03

sub tj()
'如果文件名称没有规律,可以试试如下代码,前提是所有文件在同一个文件夹里,
dir = ActiveWorkbook.Path & "\"
With Application.FileSearch
.NewSearch
.FileType = msoFileTypeWordDocuments
.LookIn = ThisWorkbook.Path
.SearchSubFolders = True
If .Execute <> 0 Then
ReDim 文件名集(.FoundFiles.Count)
kkd=0
For lngCount = 1 To .FoundFiles.Count
if instr( .FoundFiles.Item(lngCount),".xls) >0 then
文件名集(kkd) = .FoundFiles.Item(lngCount)
kkd=kkd+1
Next lngCount
End If
lngCount = .FoundFiles.Count - 1
End With
For i = 0 To kkd'以下是复制于2011-10-12 18:29 jalyou的回答 | 四级
Workbooks.Open dir & tmpname
nRow = Workbooks(tmpname).Sheets("sheet1").Range("A65535").End(xlUp).Row
For j = 1 To nRow
Workbooks(selfname).Sheets("sheet1").Range("A" & nCur).Value = Workbooks(tmpname).Sheets("sheet1").Range("A" & j).Value
nCur = nCur + 1
Next j
Workbooks(tmpname).Close
next
end sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问老鼠牙用什么方法治疗? 老鼠牙矫正费用 老鼠牙矫正需要多少钱 我的门牙长的像老鼠牙我25岁了能不能矫正 六月龄婴儿吃什么辅食 哪种辅食营养又好吃 跳舞毯的主要作用有哪些呢 用友ERP产品体系是什么 ...食品卫生许可证、食品流通许可证、QS证都有什么区别? 听说食品卫生许可证被取消了,现在QS生产许可证即包含了卫生许可证的相关... 请问移动wifi要怎么弄多少钱啊一个月 高数题,怎么通过n的平方的数判别敛散性,是大于1发散么,为什么求公比q大于1发散那条规则对他不适用 如何在芜湖注册公司 需要哪些条件和材料 注册流程和步骤怎样的 华为慧通零售代表怎么样 绝望主妇多少集 家里老是死白猫? 这是为什么? 梦见忘带准考证的预兆 做梦梦见考试没带准考证是什么征兆 跳刘畊宏健身操用什么垫子好 花椒叶可以冷冻保存吗 流口水是怎么回事呢 用去到造句(大约30个左右) 流晒口水是什么意思 挑出的拼音 传檄而定造句 光与夜之恋设计师等级最高多少 &quot;词&quot;怎么读 . 我们是一家人作文600字高一 我们是一家人作文600字初中11篇 我们是一家人作文600字高三 小孩医保卡怎么挂在父母卡上 梦见巨鸟的预兆 梦见大鸟的预兆 叶尚的茶叶为什么比下关还便宜 心理健康教育对大学生成长的意义 大学生心理健康教育有什么用处? 戒酒的好处 戒除酒精注意事项 戒酒的好处 戒酒有会很好处 梦见生锈的钉子的预兆 梦见不锈钢生锈的预兆 梦见铲铁锅生锈的预兆 普通文员工作的个人总结600字 文员岗位的个人本职工作总结 卷帘包厢尺寸 敏清舒:得了荨麻疹饮食上应当注意什么? 早餐汉堡做法图解 又一款美味汉堡 男儿膝下有黄金女儿头上有皇冠是真的吗 咖啡加牛奶可以喝吗 咖啡加牛奶可以减肥吗 灵芝孢子粉功效与作用禁忌 灵芝孢子粉适合哪类人群服用? 怎么区分08和18年玻璃?