Excel引用其它文件内容时如何用单元格内容做文件名
来源:互联网 发布:网络信息安全员培训 编辑:程序博客网 时间:2024/05/13 12:27
作者:iamlaosong
每天要做一个报表,需要累计每天的量,那么就需要知道昨天累计的量,这样,加上今天的量就变成今天累计的量了。
1、简单的做法是将昨天累计的量复制到一个工作表中,由于累计工作表中的单元格中是计算公式,复制时要做“选择性粘贴”,复制数值,否则会产生多次文件链接。
2、其次是连接昨天报表文件的工作表,但是,必须用同样的文件名,这种方法需要每天复制一下昨天的报表文件,再修改文件名为“昨日身份证项目查询结果.xlsx”,这个办法相对简单一点,不过每次打开后要启用链接,更新数据,如下图所示:
本文件的连接是否启用,关系不大,其它文件的链接一定要启用才能更新数,单元格的链接公式如下图所示:
3、设想每天的报表用日期做文件名,然后每天的报表链接昨天的文件,这样就需要用到用单元格内容做文件名进行链接,链接中输入单元格引用是不行的,只能先合成链接的内容,再用indirect函数引用。首先生成昨日报表文件名,公式是:=TEXT(当日!$K$2-1,"mm月dd日") & "身份证项目查询结果.xlsx",如下图所示:
昨日累计工作表中单元格的链接公式是:=INDIRECT("[" & 当日!$K$3 & "]累计!C3"),如下图所示(当然可以不用K3中的文件名而用K2中的日期直接合成):
这个方法有着致命缺点,用indirect函数就是必须打开昨日的报表文件,否则就看不到链接的结果,与之相关的运算也看不到结果,而我们的报表是一直向昨日链接,这样只有打开所有的文件才能看到数据,所以这个方案失败。
方案虽然失败,不过这种链接方法还是可以用的。
4、上述办法不成,只好用VBA实现了,这个倒是不难,变换日期的时候复制一下昨日的数据就行了,不过这个方法每次打开时需要启用“宏”。程序如下:
'复制昨日累计Sub cp_data() datfile = Sheets("当日").Cells(3, 11) 'K3保存昨日报表文件名称 If MsgBox("复制《" & datfile & "》中累计数据......", vbOKCancel, "iamlaosong") = vbCancel Then Exit Sub datFullName = ThisWorkbook.Path & "\" & datfile If Dir(datFullName, vbNormal) <> vbNullString Then Workbooks.Open Filename:=datFullName '打开昨日文件 Else MsgBox "数据文件不存在!", vbOKOnly, "iamlaosong" Exit Sub End If For i = 3 To 19 For j = 3 To 9 ThisWorkbook.Worksheets("昨日累计").Cells(i, j) = Sheets("累计").Cells(i, j) Next j Next i Windows(datfile).Close savechanges:=False MsgBox "昨日累计数据复制完毕!", vbOKOnly, "iamlaosong"End Sub
综上所述,可实现的方法是1、2、4,现在看来,还是第一种简单的方法最简单,第4种方法实际就是第1种方法,只是复制数据这一块用程序代替了而已。
- Excel引用其它文件内容时如何用单元格内容做文件名
- js文件引用其它js文件内容
- excel 合并单元格内容
- excel 隐藏单元格内容
- excel 更改单元格内容
- Excel彻底清除单元格内容
- excel 单元格增加内容
- 如何用十六进制显示内容
- 如何用批处理来修改host文件内容
- 如何用shell一次读取多个文件内容
- 【Day14】如何用PHP替换文件的内容?
- 如何用JS解析服务器中xml文件的内容
- 如何用Javascript获取HTML的第二列第三个单元格的内容?
- Windows 中如何用日期做文件名
- VB更改EXCEL单元格内容
- java获取Excel单元格内容
- EXCEL单元格内容自动换行
- Excel更新单元格的内容
- android模拟发送键值
- jenkins搭建master-slave架构
- C++11内存管理速记
- python学习第14天021函数:lambda表达式
- lWIP 收藏
- Excel引用其它文件内容时如何用单元格内容做文件名
- IOS 开发获取沙盒路径
- HotSpot VM GC 的种类
- MVC模式
- 二叉平衡树的基本操作(完整代码)
- SQL Server 2008R2 数据库邮件
- ExtJs——Ext基础架构--define定义一个类
- hostswap dcevm
- listview 平滑移动到最后一条