怎么在多个(上千个)excel表中提取出特定的数据? 如何批量(上百个工作薄)提取.xls电子表格文件中的特定数据...

www.zhiqu.org     时间: 2024-06-02

将以下代码复制到你要合并的工作表VBA视窗,然后执行此代码

Sub CombineWorkbooksrange()

Dim FilesToOpen, ft

Dim x As Integer

Application.ScreenUpdating = False

On Error GoTo err

FilesToOpen = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt *.xlsx *.xlsb),*.xls;*.xla;*.xlt;*.xlsx;*.xlsb", MultiSelect:=True, Title:="要合并的文件")

If TypeName(FilesToOpen) = "boolean" Then

MsgBox "没有选定文件"

GoTo err

End If

x = 1

While x - 1 < UBound(FilesToOpen)

Set wk = Workbooks.Open(Filename:=FilesToOpen(x))

For i = 1 To wk.Sheets.Count

Set xlra = wk.Sheets(i).Range("a1:z1")

'注意,引号内的1就是你要的相同工作表名,如果工作表名无要求,则继续,取单元格数值,现在是取a1:z1

Sheet1.Range("a65500").End(xlUp).Offset(1, 0) = wk.Name

xlra.Offset(0, 0).Resize(xlra.Rows.Count, xlra.Columns.Count).Copy Sheet1.Range("a65500").End(xlUp).Offset(1, 1)

Next

x = x + 1

wk.Close

Wend

MsgBox "合并成功完成!"

err:

End Sub



如果我遇到这样的问题,几分钟写个VBA代码就解决了,但是我不可能几分钟教会你达到这个水平,下面粘贴一下我的代码,随缘吧:
sub 宏1()
dim st,p,f,i
set st=activesheet
p="c:\temp\"'上千个文件所在的文件夹,必须以\结尾
f=dir(p & "*.xls?")
while f<>""
i=i+1
st.cells(i,1)=f
with workbooks.open (p & f)
.sheets(1).range("a1:z1").copy st.cells(i,2)
.close
end with
f=dir
wend
end sub

先实现在一个表格中提取。然后遍历所有文件执行相同步骤。

具体问题具体对待。
特定的数据有什么特征?

怎么在几千个excel表格中提取特定项的数据到一个excel表格中进行计算?~

用VBA可以实现,用dir语句查找文件名,用open语句打开文件,取数后用close语句关闭文件,使用循环语句.
至于从Word文件中提取数据恐怕难以实现.

不知你提取出来的数据要进行怎么运算,我想可以参照以下引用方式=SUM(Sheet1:Sheet3!A6:B6)


#索畅供# 怎么才能从多个EXCEL表中提取部分数据到一个新的EXCEL表中! -
(18879761726): 根据附图样式建立表格,然后在B2单元格输入以下公式,然后向右向下填充公式 =INDIRECT($A2&"!"&B$1)

#索畅供# 如何将excel中几十个工作表中的某一列提取出来单独做一个excel -
(18879761726): 假设这些份文件在一个文件夹中,且若打开某一文件,数据就能看见——即不用点其他sheet.建一新Excel,也存到该文件夹.仅打开该新Excel,同时按Alt+F11进入宏界面,点菜单的插入,模块,粘贴如下代码: Sub Find() Application....

#索畅供# 如何提取EXCEL中的特定数据? -
(18879761726): 见图片 说明一下,第一列是你每0.1秒采集的数据,第二列就是每1秒采集的数据,第三类是偏移变量. 公式=OFFSET($A$2,10*(C2-1),0),这个10,就是每多少个中间提取一个数据,如果你想每六个数据中提取一个,改成6*即可

#索畅供# excel如何从无数个相同格式的文件中提取指定表格的数据,形成汇总表? -
(18879761726): 你的100表的名称是不是这样的 表1,表2 ……表100 是的话 在B1输入=INDIRECT("表"&ROW(1:1)&"!c10") 下拉

#索畅供# EXCEL中很多连续的工作表,后一个工作表某一单元格数字 怎样 自动提取...
(18879761726): 在目标单元格输入=,用鼠标点击昨日的销售额单元格,回车.

#索畅供# 如何在多个表格里提取同一列的数据? -
(18879761726): 在同一工作簿的新工作表内输入公式=INDIRECT("9月"日!B4")下拉31行即可...

#索畅供# 多个 Excel文件怎么提取某些特定的数据,然后把把这些数据合并.急求, -
(18879761726): 把多个Excel文件中的数据分别复制粘贴到一个Excel文件里不同工作薄中,工作薄名称改为Excel文件名,插入一个新的工作薄,在单元格中写合并公式即可.例:BOOK1.xlsx文件sheet1工作薄A1单元值是5,BOOK2.xlsx文件sheet工作薄A5单元...

#索畅供# 如何将多个excel文件中数据提取,按照特定的格式重新组合? -
(18879761726): 今天刚刚学了这个 功能 excel有个数据透视表功能,你去了解一下

#索畅供# 如何从上千个电子表格中提取固定一栏内容到一个电子表格中? -
(18879761726): 这得看你这些表格是在一个工作簿里(即一个Excel文件),还是在不同的工作簿里. 前者比较简单.后者操作如下: 将这些文件copy到一个文件夹(若打开某一文件,数据就能看见——即不用点其他sheet),建一新Excel,也存到该文件夹....

#索畅供# 如何从多个excel文件中检索内容 -
(18879761726): 把sheet2的名称改为"北京",sheet3改为"天津" 用简单点的办法,sheet2中的“合计:”与下面公式中的要一致 在sheet1中B2=VLOOKUP("合计:",INDIRECT($A$1&"!a1:G7"),2,) C2=VLOOKUP("合计:",INDIRECT($A$1...