打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel技巧应用篇:把1月到12月的12个表格数据融为一个全年的表格

什么是Excel高手?

90%的人都认为能写长长的公式或者VBA代码的就是高手,实际上并不是这样的。

Excel高手,应该是将复杂的问题简单化,能用最简单的办法搞定工作,那才是高手。

怎么才能将复杂的问题简单化?

这就涉及到表格设计,一个真正的高手,善于设计自己的表格,下面通过一个实际案例进行说明。

方法一:

1.首先,让我们创建两个工作表,并输入数百个不同的内容进行演示。我需要合并这两个工作表。让我们同时打开两个工作表。

2.为便于演示,将表1的工作簿标签更改为“工作1、2、3”的形式,右键单击其中一个标签,选择“选择所有工作表”,即可选择表1的所有内容。再次右击并选择“移动或复制工作表”。

3.出现“移动或复制”选项框。我们点击“select”将选中的工作表移动到“table2”,选择“movetothelast”,点击“ok”。

4.因此,表1的内容合并到表2中。

方法二:

假如你每个月的表的名称是“一月份”,“二月份”……这样的,那么在总表的“一月份”对应的B2单元格内写公式“=VLOOKUP(A2,一月份!A:B,2,0)", 在”二月份对应的C2中就把这个公式中的“一月份!”换成“二月份!”,以此类推,一直到12月份,然后把刚写了公式的这12个单元格选中,往下一拉,就成功了。

方法三:

1、用文档批量命名器把你需要的EXCEl文档统一命名为:1,2,3,4...N.xlsx

2、插入以下宏代码并执行:

Sub liyoushang()
For i = 1 To N

Dim bod$
bod = "='C:\Users\think\Desktop\新建文件夹\" & "[" & i & ".xlsx" & "]" & "Sheet2'!" & Range("A1: A4").Address
'根据需要修改文件路径,Sheet2为工作薄名,Range("A1: A4")为需要copy的单元格区域
Cells(4 * i - 3, 1).Resize(4, 2).FormulaArray = bod
Next i
End Sub

以上代码成功实现将N个关闭的EXCEL文档Sheet2中Range("A1: A4")中的内容提取到同一个文档中。已试验成功!

tips:

此宏遇到的难点是将一个非数组数据放入一个数组变量中。

普通的先定义一个数组变量,读取Range("A1: A4").Address中8个值,再将这个8个值赋予Cells(4 * i - 3, 1).Resize(4, 2).Formula

,另外将一组单元格数据赋给另一组单元格,可以用    

sheet1.range("a1:i100").copy sheet2.range("a1:i100")

或者sheet2.range("a1:i100").value= sheet1.range("a1:i100").value

但在这里,我在试验时,bod被视为一个值并非一组值。所以是不行的,最后用.FormulaArray数组赋值成功了。

bod = "='C:\Users\think\Desktop\新建文件夹\...关于"='C这里的等于号是因为excel没有提取关闭文档的函数(一般要提取关闭文档的excel单元格内容,直接在单元格中输入='C:\Users\think\Desktop\新建文件夹\[2.xlsx]Sheet2'!A1,如需构造类似INDIRECT的函数,见本blog相关博文),所以要用“=”,最终vba实现的是在单元格中批量输入“='C:\Users\think\Desktop\新建文件夹\[2.xlsx]Sheet2'!$A$1:$A$4”

不要迷恋高手,表格设计好了,你自己就是高手!

你眼中的高手是什么样子?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python使用openpyxl模块读写excel文件
Nodejs实现Excel表格操作
xlsx怎么合并单元格
Excel函数学习50:SUMPRODUCT函数
数据校对怕什么?三个Excel技巧让你告别加班!
Python xlwings模块简单使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服