如何从多个excel文件中提取固定单元格的数据,并构建一个新的excel表
我现在有100多个excel文件,现在需要将每个文件中的固定单元格的数据提取出来,形成一个新的excel表,请问有什么办法?现在可以直接这样引用:在单元格中输入<='F:...
我现在有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……”。请问可以如何实现? 展开
现在可以直接这样引用:在单元格中输入<='F:\CERN\数据集\复件 范丽080704\气象数据\[LSA1993.8.xls]T'!$Z$40>。问题是:还有其它月份的数据,如“LSA1993.9.xlsl、……、LSA2008.8.xls”,如果我现在直接拉下去的话,所有单元格都是“LSA1993.8.xls”,不会自动变为“LSA1993.9.xls、1993.10.xls……”。请问可以如何实现? 展开
6个回答
展开全部
'关闭所有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
'运行下面的宏
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先提取是要看你提取单元格及内容,来进行判定。
大致分为几点:
复制粘贴。此类比较繁琐。
建议使用公式:vlookup;这个提取基数来进行,
公式=,直接提取。
录制宏,设置宏的快捷键。一键搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以分4列实现:
第一列为“'F:\CERN\数据集\复件 范丽080704\气象数据\[LSA1993.”,第二列为“8——N”,第三列为“.xls]T'!$Z$40”,第四列就用=CONCATENATE()函数合并,从而实现你要的功能 。
第一列为“'F:\CERN\数据集\复件 范丽080704\气象数据\[LSA1993.”,第二列为“8——N”,第三列为“.xls]T'!$Z$40”,第四列就用=CONCATENATE()函数合并,从而实现你要的功能 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
固定单元格是哪个
可以用宏将100多个excel文件的Z40汇总到表中。为了对应:可以先用宏汇总每个excel文件的第40行,再复制新表Z列。
可以用宏将100多个excel文件的Z40汇总到表中。为了对应:可以先用宏汇总每个excel文件的第40行,再复制新表Z列。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在A1输入LSA1993.8.xls,A2输入LSA1993.9.xls,再选中A1,A2,再往下拉.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询