如何从多个excel文件中提取固定单元格的数据,并构建一个新的excel表

我现在有100多个excel文件,现在需要将每个文件中的固定单元格的数据提取出来,形成一个新的excel表,请问有什么办法?
现在可以直接这样引用:在单元格中输入<='F:\CERN\数据集\复件 范丽080704\气象数据\[LSA1993.8.xls]T'!$Z$40>。问题是:还有其它月份的数据,如“LSA1993.9.xlsl、……、LSA2008.8.xls”,如果我现在直接拉下去的话,所有单元格都是“LSA1993.8.xls”,不会自动变为“LSA1993.9.xls、1993.10.xls……”。请问可以如何实现?

第1个回答  2009-05-17
'关闭所有excel文档,新建一个工作薄
'运行下面的宏
Sub hebin()
Dim fs, f, f1, fc, s

Set fs = CreateObject("Scripting.FileSystemObject")
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
fd.Show
s = fd.SelectedItems(1)

Set f = fs.GetFolder(s)
Set fc = f.Files
n = 0
For Each f1 In fc
If Right(f1.Name, 3) <> "xls" Then GoTo nt
n = n + 1
Workbooks.Open f1.Name
Workbooks(1).Sheets(1).Cells(n, 1) = Workbooks(2).Name
Workbooks(1).Sheets(1).Cells(n, 2) = Workbooks(2).Sheets(1).Cells(40, 26)
Workbooks(2).Close SaveChanges:=False
nt:
Next
End Sub本回答被提问者采纳
第2个回答  2015-11-03

 首先提取是要看你提取单元格及内容,来进行判定。

大致分为几点:

    复制粘贴。此类比较繁琐。

    建议使用公式:vlookup;这个提取基数来进行,

    公式=,直接提取。

    录制宏,设置宏的快捷键。一键搞定

     

第3个回答  2009-05-14
可以分4列实现:
第一列为“'F:\CERN\数据集\复件 范丽080704\气象数据\[LSA1993.”,第二列为“8——N”,第三列为“.xls]T'!$Z$40”,第四列就用=CONCATENATE()函数合并,从而实现你要的功能 。
第4个回答  2009-05-13
固定单元格是哪个

可以用宏将100多个excel文件的Z40汇总到表中。为了对应:可以先用宏汇总每个excel文件的第40行,再复制新表Z列。
第5个回答  2009-05-12
在A1输入LSA1993.8.xls,A2输入LSA1993.9.xls,再选中A1,A2,再往下拉.
相似回答