永发信息网

跪求,如何将指定文件夹下一份份单独的EXCEL文件中的某一行或几行的数据全部合并到一个工作表中呢

答案:3  悬赏:60  手机版
解决时间 2021-02-11 20:22
哪位大侠可不可以写个这样的代码,里面的数据所在的行数我自己修改
最佳答案
'将多个工作簿放在同一文件夹下,其中有一个放VBA代码的工作簿
Sub UnionWorksheets()
Dim lj As String
Dim dirname As String
Dim nm As String
Dim Sht As Worksheet
Dim Str As String
lj = ActiveWorkbook.Path '查找工作簿
nm = ActiveWorkbook.Name
dirname = Dir(lj & "\*.xls")
m = 0
Do While dirname <> ""
If dirname <> nm Then
Workbooks.Open Filename:=lj & "\" & dirname '打开一个工作簿
For Each Sht In Worksheets '遍历工作表
Rows("1:3").Select '选择1-3行拷贝
Selection.Copy
Workbooks(1).Activate '拷贝到目标工作簿,根据要求设置
Range("A65536").End(xlUp).Select '目标工作簿工作表1A列最后一行
ActiveSheet.Paste
Application.CutCopyMode = False '清除剪贴板内容
Workbooks(2).Activate
Next
Workbooks(dirname).Close False
End If
dirname = Dir
Loop
End Sub
全部回答
='C:\新建文件夹\[工作簿名.xls]SHEET1'!$B$2 希望我的回答对你有所帮助。
进入vba编辑器,新添加一个模块,然后粘贴下面的代码. Option Explicit Sub gogo() Dim a$, i&, k& '开始显示文件夹对话框,被选中文件夹下的 'xls文件保存到数组myFiles(1 to i) '注意: 不会搜索子文件夹 Dim fd As FileDialog, myPath$, myFiles$() Set fd = Application.FileDialog(msoFileDialogFolderPicker) With fd k = .Show If k = -1 Then myPath$ = LCase(CStr(.SelectedItems(1))) If Right(myPath, 1) <> "\" Then myPath = myPath & "\" Else Exit Sub End If End With Set fd = Nothing i = 0 a = Dir(myPath & "*.xls") If Len(a) > 0 Then Do Until Len(a) = 0 i = i + 1 ReDim Preserve myFiles(1 To i) myFiles(i) = a a = Dir Loop End If '必须保证每个文件的提取范围 '相同或有相同变化规律,以利于循环提取 Dim Bok1 As Workbook Dim BokX As Workbook Dim Rng As Range Application.ScreenUpdating = False Application.DisplayAlerts = False Set Bok1 = Workbooks.Add For i = LBound(myFiles) To UBound(myFiles) Set BokX = Application.Workbooks.Open(myFiles(i)) '设置提取范围为第一个表的1到3行 Set Rng = BokX.Sheets(1).Rows("1:3") Rng.Copy k = Bok1.Sheets(1).Cells.Range("A65536").End(xlUp).Row Bok1.Activate Bok1.Sheets(1).Cells(k + 1, 1).Select ActiveSheet.Paste BokX.Close savechanges:=False Next Application.CutCopyMode = False Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "数据提取到 " & Bok1.Name Set Rng = Nothing Set Bok1 = Nothing Set BokX = Nothing End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
养老保险个人账户明细不明白,请懂行的朋友帮
8月26号吉视长影频道播了什么电影
淮滨县信阳北大阳光科玛太阳能(淮滨总经销)在
后河乡我想知道这个在什么地方
“猪”英文的发音是什么?
做平安保险有风险吗?
古代太监的声音真的像电视剧里拍的那样阴阳怪
建镀锌管蔬菜大棚多少钱
vivo手机为什么不发热
三明治 可以用 a sandwich 那为什么bread 不
众大投资我想知道这个在什么地方
PSV合购到底除了不能联机 还有哪里不好啊 64g
谭木匠NO.30地址在哪,我要去那里办事
求歌名和歌手,《中国最强音》北京站一个留学
分权管理体制根据授权程度不同,存在总厂和分
推荐资讯
怎么写内审材料和管理评审材料?请专家帮帮忙
贼道余显斌读后感
网约科目一必须要学完学时才能约么 我这显示
请问面对一帮比我小的同事我该怎么和他们相处
已知x+1/x=2,求x²+1/x²,x的四次
甘肃兰州那个集成吊顶好
鼎炉是什么意思
请问美版iphone6,查询Sprint说已经解锁了,
海鸥手表表把涂有蓝色是返修品吗
《求一个是另一个数的几倍是多少》教学设计及
1.4TSuv有哪些车型
飞歌导航的电话蓝牙怎会有好大的风声?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?