excel多个文档能互相导入吗
2个回答
2016-01-16 · 知道合伙人软件行家
关注
展开全部
可以采用SQL语句多表汇总生成表
一、针对列名称都一样的多表
具体如下:打开文件点数据 现有连接 浏览更多 找到要做汇总的工作簿打开 在弹出的框中选一个表(注意:数据首行包含列标题的勾一定要打上)点确定后弹出如下图所示
选择生成表
然后点属性 定义选项卡下命令文本中输入
select * from [工作簿1所在路径].[数据表1名称$] union all select * from [工作簿2所在路径].[数据表2名称$] union all select * from [工作簿3所在路径].[数据表3名称$] 再点确定
二、针对不同列名称的多表合并
前面的步骤一致,在命令文本中输入
select 所需名称1,所需名称2,* from [工作簿1所在路径].[数据表1名称$] union all select 所需名称3,所需名称4,* from [工作簿2所在路径].[数据表2名称$] union all select 所需名称5,* from [工作簿3所在路径].[数据表3名称$] (根据实际情况输入字段名称,没有的字段用null)
展开全部
新建一个文件夹,把所有的的Excel文件都放在里面,然后把下面的代码复制粘贴到你要导入的Excel文件里,运行宏,选中文件夹中所有的Excel文件,就可以了.
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
End Sub
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询