在Excel中,批注(Comment)是一类特殊的数据。

利用批注,我们可以为单元格添加备注信息(如解释、说明),方便表格阅读者了解数据背后的信息。

然而,由于不当的使用习惯,我们也经常碰到一些表格,制表人将极其复杂的备注信息写入到批注而非单元格中,导致后期想提取批注时非常麻烦。

如上图,A列“系统单号”中每个单元格都带有批注,所批注信息为系统单号对应的所有柜号(文本,按行排列)。

实际上A、B列有很多行数据,本案例使用4行仅作演示之用。

现在需求是——如何快速将A列所有批注信息(即柜号)提取出来,并且写入独立的单元格,完成右侧样式表格。

怎么办?这是一个相当棘手的问题!

如果手工处理的话,那就要一个一个单元格复制批注内容、粘贴后再分列、转置……,工作量极大,我保证你处理完之后手抽筋!

那应该怎么处理呢?下面教你用VBA完成一键处理。

第1步:准备工作假设,我们要将目标数据提取至E、F、G3列,提前做好表头:

第2步:编写代码

ALT+F11,打开VBE,在工作表对应模块中编写代码如下:Sub 提取批注内容()Dim arr() As String  '定义一个动态数据,字符型For i = 3 To 6arr = Split(Cells(i, 1).Comment.Text, vbLf)For j = LBound(arr()) To UBound(arr())If arr(j) <> "" Then[e65536].End(3).Offset(1, 0) = Cells(i, 1)[f65536].End(3).Offset(1, 0) = arr(j)[g65536].End(3).Offset(1, 0) = Cells(i, 2)End IfNextNextEnd Sub

将光标置于代码任何位置,按F5运行程序。几秒钟后,就可以在Excel中看到执行结果了:

本例中,利用Split方法,对批注文本(Comment.Text)进行拆分,而拆分所依据的符号是回车符(Vblf)。

这样,将拆分后的结果储存到动态数组arr()中,最后再将数组元素赋值给目标单元格即可。

关键知识点:

1、定义动态数据arr()

2、split方法,利用回车符(vblf)进行拆分

3、由于原批注末尾有多个空行,所以拆分后要加上IF判断,不为空才执行

4、split拆分后的结果是一个数组,最后将数组内容依次写入单元格

5、OFFSE方法,对单元格进行偏移

vba单元格批量赋值_Excel●VBA●如何把批注中的信息批量提取到单元格?相关推荐

  1. vba单元格批量赋值,EXCEL——VBA对文件夹下所有表格的特定单元格赋值

    image 不知道大家有没有遇到过这种情况,一个文件夹下有很多Excel文件,每个文件里面一个或多个表都有一个同样的单元格,比如自己的名字啊.生日啊之类的.这个时候如果要改动这个单元格的内容我们需要一 ...

  2. easypoi导出word表格_拒绝加班,批量将word文档中的信息高效率提取出来存储到Excel中...

    最近,有小伙伴跟我提了一个需求,小伙伴是做扶贫工作的,从扶贫系统里面可以批量的导出每一户的信息到一个word文档中,导出的内容是在word中是以表格的形式存在的.小伙伴的需求是如何批量的将每个word ...

  3. vba数组如何精确筛选_Excel VBA 数组知识点,数组能不能用好,就看这个你学会没有...

    今天和大家要说的是VBA数组的应用,上篇文章我们说的是数组的基础知识点,有不明白的小伙伴可以点击链接进行知识点回顾Excel VBA 数组基础知识,初学者不可不学的关键知识,今天主要说说数组的几个操作 ...

  4. vba复制整个sheet内容_Excel VBA解读(74):移动或复制工作表——Move方法和Copy方法...

    有时候,我们可能想复制工作表,保留一份工作表的副本,以免误操作打乱工作表后无法恢复.有时候,我们也可能想移动工作表,调整工作表顺序,将工作表重新排列,以方便工作表的布置.本文介绍在VBA中实现这两种操 ...

  5. 只提取单元格中的数字_提取Excel单元格中的数字(4类)及原理

    文中总结了4类从包含有中文.字母.数字的单元格数据中只提取数字的公式.(使用的时候把单元格名称改为实际的单元格名称即可). 1.提取文本左侧数据 当单元格中数字在左侧,文字内容在右侧时,我们可以使用一 ...

  6. 单元格自适应宽度_最详细的Excel模块Openpyxl教程(二)-单元格操作详解

    在以前的推文中,我们介绍了操作Excel的模块openpyxl的入门知识,相关推文可以从本公众号的底部相关菜单获取.接下来的推文我们来学习一下openpyxl这个python模块中的其他知识,本次推文 ...

  7. 十九、PHP框架Laravel学习笔记——批量赋值和软删除

    一.批量赋值 上一节增删改中,新增中我们发现需要进行批量赋值的许可: 一般情况下,是为了防止提交过来的字段在部分场景中不需要或不能: 所以,我们需要通过黑白名单机制进行过滤掉必要的字段: //通过提交 ...

  8. cxgrid 行合并单元格_【Excel VBA】如何批量撤销合并单元格?

    周末好,之前我们分享了批量合并单元格的VBA小代码,链接参考: [Excel VBA]如何批量合并相同值单元格? 天下大势合久必分.分久必合.分分合合合合分分又合合合再分分分又又合合合合合合合---- ...

  9. excelvba怎么设置不打开文件自动保存_Excel VBA之工作薄 5.5批量工作薄标准数据的汇总...

    前景提要 通过之前的学习,我们现在已经学会了如何批量打开工作薄,判断工作薄是否打开等操作,批量汇总工作薄的基本操作基本上都已经学了一遍了,相信聪明的你已经能够明白这些操作的方法了,那么今天我们就开始进 ...

最新文章

  1. php fileputcontents,在php中file_put_contents函数起什么作用呢?
  2. python画图代码星星-Python利用for循环打印星号三角形的案例
  3. Zuul网关原理及源码解读(草稿版)
  4. Python教程:Python基础知识点梳理!
  5. Qt Creator管理会议
  6. bzoj2058: [Usaco2010 Nov]Cow Photographs(逆序对)
  7. Java笔记-基于Spring Boot的SOAP双向SSL认证及WS-Security
  8. python的爬虫功能如何实现
  9. Python的可变长度参数*和**,传参序列解包,isinstance的使用
  10. CentOS下MySQL安装后配置和设置
  11. java共享内存_Java共享内存
  12. node.js 实现文件上传
  13. android recovery 3e,【记录】尝试用ODIN去恢复启动界面是Android system recovery 3e的I9100G...
  14. Android oem 解锁
  15. error:unable to recogni “*.yaml“ze no matcher for kind “Deployment“ in version “extensions/b1beta1“
  16. [CTF]Dino安全小组第三次内部赛“remix_欧皇的游戏2.0”Writeup
  17. rk3399_9.0.1_mid 时区转换
  18. 90后,为什么我建议你不要老是加班?
  19. 安全进化的终极猜想— 以“AI之盾”对抗“AI之矛”
  20. 一文解析交通大数据是如何解决拥堵问题的

热门文章

  1. 数学建模学习笔记——时间序列分析
  2. 机器学习算法加强——聚类实践
  3. Python基础知识(第六天)
  4. 【SQL】SQL(基础查询)、SQL(关联查询)
  5. 信用评分卡模型开发及评估指标
  6. 深度学习元老Yann Lecun详解卷积神经网络
  7. 机器学习入门系列二(关键词:多变量(非)线性回归,批处理,特征缩放,正规方程
  8. 聚焦互联网应用和深度学习
  9. 算法与数据结构(冒泡排序,选择排序和插入排序的总结)
  10. 深入理解分布式技术 - Paxos 算法解读