问答文章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列数据汇总到一个表上

发布网友 发布时间:2022-05-10 05:22

我来回答

3个回答

热心网友 时间:2023-11-05 08:57

昨天回答了,答案被度娘吃了
今天再来过:
一、
首先把你的那几个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-05 08:57

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-05 08:58

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
会计中级什么时候拿证 会计中级职称什么时候领取 手机中毒后恢复出厂设置就可以了吗? 手机中病毒后如何清除? 做代购初期怎么找客源,微商代购怎么找精准客 ...代购,都是阿迪耐克正品。怎么才能把微商做好。 做微商和代购,有哪些引流获客的方法? 250㎜的水泥撑棍一捆多少根? 吊顶一平要多少丝杠 ...断开电源,一端接地,这个时候把极板远离,为什么是两极板电压变大而... 关于Excel VBA汇总问题 巴什伊尔的静止间到底怎么做?我开不了,可是我有任务钥匙啊。 怎样用vba自动汇总 在《魔兽世界》里,巴什伊尔的静止间,这任务怎么做啊? win10怎么设置绿色软件为默认应用 怎么把Windows7(旗舰版)的底色设置成苹果绿? 超声印象:左卵巢旁囊性结构,右卵巢内囊性结构具体什么意思 左侧卵巢内见囊性暗区大小约3.0cmx2.2cm是什么意思 左卵巢内见一10*9MM囊性暗区什么意思??? 左侧卵巢可见一大小约15*11mm囊性暗区,壁薄边界清囊内暗区透声可囊周未见明显彩流信号是什么意 经阴道彩色多普勒超声检查说左卵巢旁囊性暗区什么意思 逃生2在哪里购买 steam上买正版多少钱价格一览 逃生2steam平台多少钱 steam玩家评价分享 steam上的逃生2是汉化版的吗的最新相关信息 逃生2在steam怎么搜 怎样才能下载逃生2 请问,我的这个检查有问题吗?左侧卵巢内囊性暗区是什么意思?还有,子宫内膜厚11毫米,医生说我快来 逃生2在哪玩到正版,如果是正版要多少钱那? 谁玩过逃生2 steam上的免费试用版有什么限 求助vba代码 放下一个人的最好的方法 求相同编码同一时期的数据汇总VBA代码如何编写? 当你真正的放下一个人的时候,会有什么样的表现? 如果真的放下了一个人,会是什么样子? 如何才能说明自己真的放下了一个人? 我不再埋怨你了,怎样才算把一个人彻底放下了? 放下一个人最好的方法是什么? 当男人放下一个人,会是什么样子? 怎么放下一个人了 本人有七万存款,一直放余额宝安全吗? hp3632手机打印一部分 刚做流产,经常梦见生了个女孩 做了人流没几天就我梦见自己生的是小狗变成婴儿意味着什么 做完人流后,经常梦见婴儿的恐怖梦境,是怎么回事? 抖音能备注吗 怎么让头发长快点 自制泡沫洗手液一定要起泡瓶吗,可以用普通洗手液的瓶吗 洗手液起泡瓶的原理 宇宙的尽头会是什么样子呢 还有宇宙外面是什么样的