在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