首页 热点资讯 义务教育 高等教育 出国留学 考研考公

请问excel大神,如何批量获取指定路径下其他excel文件中数据?

发布网友 发布时间:2022-04-23 10:22

我来回答

5个回答

热心网友 时间:2022-07-13 15:31

如果只有两三个文件,可以使用公式实现:打开三个文件,在【总.xls】里面的需要的单元格输入等号=,然后点击别的工作簿、工作表、单元格,最后回车即可。

如果文件数量很多,或者需要获取数据的范围很多,或者需要获取不确定的数据,那么就必须使用VBA编程,例如下面的代码:

Option Explicit


Sub 宏1()

    Dim st As Worksheet

    Dim fn, n

    Set st = ActiveSheet

    For Each fn In Array("a.xls", "b.xls")

        n = st.UsedRange.Rows.Count + 1

        With Workbooks.Open(fn)

            .Sheets(1).UsedRange.Copy st.Cells(n, 1)

            .Close False

        End With

    Next fn

End Sub

热心网友 时间:2022-07-13 15:31

不在EXCEL环境读EXCEL文件除非是读点文件标志或属性什么的,读数据怎么可能。
在EXCEL中用VBA宏代码读取D:\test.xls表sheet1中A1单元格的值,代码如下:
Workbooks.Open Filename:=D:\test.xls'打开文件
a=Worksheets(sheet1).Range("A1")'读取sheet1表的A1单元格的值到变量a
ActiveWorkbook.Saved = True '关闭时不提示保存
ActiveWindow.Close '关闭文件

热心网友 时间:2022-07-13 15:32

可以同时打开两个表,在表1某个员工所在行的空白单元格上单击左键,输入=,然后转到表2,点一下该员工对应的工资,然后按回车(必须要按回车)。返回表1刚才输入=的单元格,可以看到里面的内容变成了表2的工资数,然后再次单击该单元格,在上边工具栏下边的框里会有个类似这样的内容(公式):='[工作表 (2).xls]Sheet1'!$B$2,把里面的$符号都删除掉,将鼠标指到该单元格的右下角,等鼠标变成一个黑色粗十字标志时,双击鼠标左键,将公式向下复制,就可以将所有员工都设置好(前提是员工的排列顺序在两个表里是相同的)。追问如果不是2张,是100张呢

追答一样的道理啊,只要指定文件路径和名称

热心网友 时间:2022-07-13 15:32

总.xls、a.xls和b.xls都打开

然后在总.xls的A1输入公式==[a.xls]Sheet1!$A$1,A2输入公式==[b.xls]Sheet1!$A$1
然后关闭a.xls和b.xls即可

热心网友 时间:2022-07-13 15:33

把三个文件都打开。在总表格里一个单元格输入=,接着用鼠标单击A表格的A1单元格按回车键。你同样的方法引用B表格的A1单元格。需要注意的是,引用后,表格a和表格B的保存位置,文件名,文件夹名等都不可以更改。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com