Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3259|回复: 10

[已解决]求盆友们帮忙改个代码

[复制链接]
发表于 2016-6-12 10:11 | 显示全部楼层 |阅读模式
原来的代码是,遍历该文件夹下所有工作表中,指定工作薄名内的某些单元格,并提取汇总到台帐上;
现在想要遍历该文件夹中所有工作表中所有工作薄的某些单元格,并提取汇总
最佳答案
2016-6-12 11:10
  1. Sub xx()
  2.     Dim wb As Workbook, sht As Worksheets, n&, MyName$, MyPath$, arr, x&
  3.     MyPath = ThisWorkbook.Path & ""
  4.     MyName = Dir(MyPath & "*.xlsx")
  5.     Do While MyName <> ""
  6.         If MyName <> "台账.xlsx" Then
  7.             Set wb = GetObject(MyPath & MyName)
  8.             With wb
  9.                 For i = 1 To .Sheets.Count
  10.                     x = Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row + 1
  11.                     With .Sheets(i)
  12.                         n = .Cells(.Rows.Count, 1).End(xlUp).Row
  13.                         arr = .Range("a2:e" & n)
  14.                     End With
  15.                     Sheet1.Range("A" & x).Resize(n - 1, 5) = arr
  16.                 Next
  17.                 .Close False
  18.             End With
  19.         End If
  20.         MyName = Dir
  21.     Loop
  22. End Sub
复制代码

数据提取.rar

31.12 KB, 下载次数: 19

发表于 2016-6-12 10:31 | 显示全部楼层
本帖最后由 02761752696 于 2016-6-12 11:40 编辑

工作表    和  工作薄   区分一下:
Excel文件 叫做   工作薄
Excel文件里面的 Sheet1,Sheet2.......  叫做工作表


效果  只传了台账文件,替换你的文件
ddd.gif

台帐0612.rar

18.12 KB, 下载次数: 14

回复

使用道具 举报

 楼主| 发表于 2016-6-12 10:33 | 显示全部楼层
02761752696 发表于 2016-6-12 10:31
工作表    和  工作薄   区分一下:
Excel文件 叫做   工作薄
Excel文件里面的  ...

好的好的,谢谢,可以帮我修改一下吗
回复

使用道具 举报

发表于 2016-6-12 11:01 | 显示全部楼层
本帖最后由 02761752696 于 2016-6-12 11:41 编辑

menlgr 发表于 2016-6-12 10:33
好的好的,谢谢,可以帮我修改一下吗

复制代码
你看看,是这个意思吗?
改了一下
回复

使用道具 举报

发表于 2016-6-12 11:10 | 显示全部楼层    本楼为最佳答案   
  1. Sub xx()
  2.     Dim wb As Workbook, sht As Worksheets, n&, MyName$, MyPath$, arr, x&
  3.     MyPath = ThisWorkbook.Path & ""
  4.     MyName = Dir(MyPath & "*.xlsx")
  5.     Do While MyName <> ""
  6.         If MyName <> "台账.xlsx" Then
  7.             Set wb = GetObject(MyPath & MyName)
  8.             With wb
  9.                 For i = 1 To .Sheets.Count
  10.                     x = Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row + 1
  11.                     With .Sheets(i)
  12.                         n = .Cells(.Rows.Count, 1).End(xlUp).Row
  13.                         arr = .Range("a2:e" & n)
  14.                     End With
  15.                     Sheet1.Range("A" & x).Resize(n - 1, 5) = arr
  16.                 Next
  17.                 .Close False
  18.             End With
  19.         End If
  20.         MyName = Dir
  21.     Loop
  22. End Sub
复制代码

台帐.rar

13.71 KB, 下载次数: 21

回复

使用道具 举报

 楼主| 发表于 2016-6-12 11:48 | 显示全部楼层
老司机带带我 发表于 2016-6-12 11:10

不好意思,和我想象的代码不太一样,您看看这个

数据提取.rar

47.86 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2016-6-12 11:52 | 显示全部楼层
老司机带带我 发表于 2016-6-12 11:10

和我想要的效果不太一样,之前的那个怕大家看着费劲就稍微变动了一下,结果不是我想要的效果,您再看看这个

数据提取.rar

47.86 KB, 下载次数: 13

2

回复

使用道具 举报

 楼主| 发表于 2016-6-12 11:53 | 显示全部楼层
02761752696 发表于 2016-6-12 11:01
menlgr 发表于 2016-6-12 10:33
好的好的,谢谢,可以帮我修改一下吗你看看,是这个意思吗?
改了一下:l ...

和我想要的效果不太一样,之前的那个怕大家看着费劲就稍微变动了一下,结果不是我想要的效果,您再看看这个

数据提取.rar

47.86 KB, 下载次数: 16

2

回复

使用道具 举报

发表于 2016-6-14 11:34 | 显示全部楼层
menlgr 发表于 2016-6-12 11:52
和我想要的效果不太一样,之前的那个怕大家看着费劲就稍微变动了一下,结果不是我想要的效果,您再看看这 ...

你的提问和实际需求完全不一样,你把最新的需求说明一下(已经跟你之前的提问表格形式完全不一样了),最好把结果模拟一下,否则看的一头雾水!
回复

使用道具 举报

 楼主| 发表于 2016-6-14 11:51 | 显示全部楼层
老司机带带我 发表于 2016-6-14 11:34
你的提问和实际需求完全不一样,你把最新的需求说明一下(已经跟你之前的提问表格形式完全不一样了),最 ...

首先,试验报告中的每一个工作表的结构是一样的,需要将每一个工作表的某些单元格提取,并汇总到台帐工作薄的sheet1指定的单元格,例如:将工作表的L7,C6,L6,A10,H10,J10,L10提取汇总到台帐工作薄sheet1的B6,C6,D6,E6,F6,H6,G6,H6
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 11:29 , Processed in 0.621902 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表