Excel获取单元格批注
来源:互联网 发布:nginx教程 编辑:程序博客网 时间:2024/04/29 16:55
Microsoft Office中的Excel软件有着强大的数据统计分析功能,最近自己碰到一个问题,需要将一列单元格中的批注提取到另外的一列中去。如果数量比较少大可以通过“Ctrl+C”和“Ctrl+V”来实现,但是面对成百上千行数据的就出现麻烦了。自己就在网上搜索了一些关于此方面的资料,发现Excel有两个方面的应用非常实用:VBA和宏表函数,这里只是举出其中两个简单的例子,如有兴趣可以深究。
一、获取单元格批注
VBA全称为:Visual Basic for Applications,是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。虽然这种语言较为古老,但在Microsoft Office软件风靡全球的情形下还是有很大的应用价值,特别是一些用户非常熟悉了Excel的操作界面之后就对它有着非常大的依赖性,通过Excel自带的VBA程序来对数据进行处理可以带来极大的方便。
下面就讲讲如何通过VBA获取单元格的一个小例子,主要参考了http://club.excelhome.net/forum.php?mod=viewthread&tid=938019中5楼“xinhunter”发的帖子来实现的。
如下图所示,A列中有多行带有批注的单元格,如何将A列中的单元格都提取到对应的E列中来呢?通过如下的几个步骤可以成功地获取单元格批注。
1、 打开VBA,新建模块,创建用户自定义函数,如下图所示:
2、 编写自定义函数GetComment()
Function GetComment(myRange As Range) As String
GetComment = myRange.Comment.Text
End Function
如下图所示:
3、 调用自定义函数GetComment()。在E1的编辑框中输入:=GetComent(A1),选定之后按“F9”,就会变成如下的情况:
按“F9”调用GetComment()函数之后,成功获取批注如下:
4、 调用SUBSTITUTE()函数,去掉多余文本
从上图可以看出,E1单元格中已经成功地将A1中的批注获取到了,但是包含了当前编辑者的姓名,如上图中的“ZKH:”,可以通过调用如下函数去掉多于的用户名文本。如下图所示:
5、拖拽填充柄,依次获取单元格批注
二、获取某路径下文件名
除了Excel自带的函数以及通过VBA自定义的函数之外,我们在Excel中有可能用到的一种函数叫做“宏表函数”,以下也通过一个具体的应用小例子来简单演示。
在应用过程中,也许会碰到将一堆文件的名字加以统计起来的需求,如果文件数较多的时候是个麻烦的事情,Excel中自带的宏表函数可以很轻松地解决类似这样的问题,主要以下操作步骤:
1、 定义新名称
通过“公式→定义新名称”,定义一个“myfile”的宏表函数,其中名称myfile调用了Excel中自带的“FILES()”的函数,如下所示:
2、 调用myfiles(),在C1输入“=myfile”按“F9”
路径文件如下:
运行效果如下:
3、 调整效果
如上图所示,将“D:\新建文件夹\”路径下的4个文件名都获取到C1的单元格中,能否将文件名逐个地依次获取到单元格呢?答案是可以的,我们还可以对指定的文件类型加以获取:
调用INDEX()函数,如下:
拖拽填充柄如下:
4、 加条件判断
如上图所示,下拉的单元格数超出了文件数的时候,容易出现错误乱码如“#REF!”,可通过IF条件函数加以判断如下:
5、 指定文件类型获取
如在myfiles名称中指定文件类型,所定义的宏表函数可只获取指定的文件名列表,如下指定.xls文件类型:
结果如下:
2014-10-27,为了每次使用方便,通过代码创建以上名称以及调用:
//VBA,运行宏创建名称:
Sub myFile()
' 获取路径下所有文件名'
ActiveWorkbook.Names.Add Name:="myfile", RefersToR1C1:= _
"=FILES(""C:\Users\ZKH\Desktop\2014-10-20\*.*"")"
ActiveWorkbook.Names("myfile").Comment = ""
End Sub
//调用
=IF(ROW()>COUNTA(myfile),"",INDEX(myfile,ROW()))
- Excel获取单元格批注
- JXL获取excel批注
- Excel生成报表之解决方案--单元格添加批注
- C# 给Excel单元格添加文本及图片批注
- excel 获取当前单元格
- excel批注
- 获取批注
- java获取Excel单元格内容
- EXCEL获取单元格内容方法
- Excel单元格内容变化时,自动添加系统时间批注(亲自实践)
- POI 结单元格添加批注
- 创建excel 批注
- excel导出2 批注
- .net读取Excel批注
- Excel 添加图片批注
- excel 获取最后一个非空单元格
- POI获取excel单元格的内容
- poi获取Excel合并单元格的值
- 基于springMVC的微信支付(V3版本)
- 1003. Emergency (25)
- Hbase单机模式启动提示org.xml.sax.SAXParseException; systemId: file:/opt/src/hbase/conf/hbase-site.xml; lineN
- 静态库-动态库 使用
- 西普实验吧CTF-算术题
- Excel获取单元格批注
- memcached 介绍
- 【USACO题库】1.2.1 Milking Cows挤牛奶
- 关于 DDL、 DML、 DCL详细解释
- tomcat 配置 https, android端 访问
- 第四周项目1:求最大公约数
- Android官方开发文档Training系列课程中文版:与其它APP交互之将用户带到其它的APP
- 虚幻引擎自带的创建插件的插件
- Python初步学习(1)