如何快速在多个excel工作表里面提取同一列使之成为一个新的表格

 我来答
pepe3399
2016-08-31 · 知道合伙人软件行家
pepe3399
知道合伙人软件行家
采纳数:1259 获赞数:5939
1988年毕业于苏州市职业大学计算机专业 从事软件开发5年 从事生产管理20年

向TA提问 私信TA
展开全部

用万能的vba可以实现。举例说明。

例如有一文件,其中sheet1、sheet2、sheet3有数据如图:

现要求将sheet1~sheet3的a列提取后放到sheet4中。假定已知数据项的数量都相同且等于5.

第一步:插入模块,编制代码如下:

Sub 创建新表()
Const hs = 5
For i = 1 To hs
   Sheet4.Cells(i, 1) = Sheet1.Cells(i, 1)
   Sheet4.Cells(i, 2) = Sheet2.Cells(i, 1)
   Sheet4.Cells(i, 3) = Sheet3.Cells(i, 1)
Next i
End Sub
第二步:运行该宏。结果如图:

匿名用户
2016-08-26
展开全部
将这些文件copy到一个文件夹(只有这些Excel,且若打开某一文件,数据就能看见——即不用点其他sheet),建一新Excel,也存到该文件夹。仅打开该新Excel,按Alt+F11,左边窗口右键点,插入模块,在右边窗口粘贴如下代码:

Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = ThisWorkbook.Path & "\"
ChDrive Left(MyDir, 1) 'find all the excel files
ChDir MyDir
Match = Dir$("")
Do
If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
Workbooks.Open Match, 0 'open
ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet
Windows(Match).Activate
ActiveWindow.Close
Match = Dir$
End If
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub

按F5执行此宏,文件copy完成。

然后可以用sum(sheet12:sheet30!A1)汇总了。
如果数据只有几列的话,可以直接用宏copy到一张工作表中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanxy0924
2016-08-26 · 知道合伙人互联网行家
yanxy0924
知道合伙人互联网行家
采纳数:7683 获赞数:18560

向TA提问 私信TA
展开全部

见样表截图

分别从表1表2表3三个表的A列提取数据到新表中

sheet1的A2输入

=INDIRECT(COLUMN(A1)&"!a"&ROW(A2))

公式右拉下拉

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chyzyyj
2016-08-26 · TA获得超过2526个赞
知道大有可为答主
回答量:3319
采纳率:76%
帮助的人:962万
展开全部
你的问题要用vba实现才可以。需要具体帮助+PP2327285699
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式