前言
相信不少人跟我一样有遇到过需要处理一份带有大量批注的excel表格,但是又需要用到批注里面的内容,这样每次都拿鼠标去靠近单元格来获取到内容,进而复制内容里面的部分信息,以此来和另外一列比对,不仅耗时还容易看错行,导致数据匹配错误。懒惰的人总想着有没有什么快捷的方法,然后就有下面的尝试:
1、将某一列的批注批量转化成内容
Excel表格如下:
首先,按住快捷Alt+F11,将会打开如下一个VB编辑器:
然后,点击插入->模块,在弹出来的页面中输入如下代码:
Sub test()
Dim rng As Range
For Each rng In Range("A:A") '按实际需要更改列号
If Not rng.Comment Is Nothing Then rng.Offset(0, 1) = rng.Comment.Text
Next
End Sub
执行之后,会在excel中将A列的批注的内容复制到B列中(这里我是新插入一列空的B列存储批注内容,原本B列就变成C列了)。结果如下:
但是新的问题又出现了,如上图箭头指向的内容,我仅需要批注内容里面的后面那串数字,想过全局替换的方式,但是由于内容里面含回车换行符,行不通。
2、Excel表格中去回车符方式
首先,Ctrl+H打开“查找和替换”的弹框,然后光标定位在查找框中,按下Alt键不放,接着按下数字10后再放开Alt键,这样查找的内容就是带有回车键的单元格了,之后替换即可。如下图:
为了方便,我的搜索范围选择了按列搜索,然后尝试替换了一个单元格,没问题的话,就可以选择全部替换了。然而,这样还要一点点的去复制单元格,下一个高能点又来咯。
3、拆分Excel单元格内容
按如下打来分列的弹框,根据分列向导分3步执行下去:
第一步,选择分隔符号,也可根据实际情况选择固定宽度也可以,这里用分隔符;
第二步,根据实际选择适合的分隔符后,底下会有数据预览,结果如下:
第三步,一定要指定一个目标区域,我选择了又加了一列,即C列:
分列结果:
示范的时候选择了单个单元格进行分列,需要批量的,选中某一列再选择数据->分列就行啦。
最后结果,我只需要复制所需的两个ID到指定的Excel中就行啦,A列为批注里面的ID串,B列为原本原数据的B列业务指令集id。
总结
1.打开VB编辑器的快捷键,电脑厂家和型号不同可能不一样,有的还需要按F1-F12的时候还需要按Fn键,可自行百度;
2.替换不仅可以替回车符,甚至其他特殊符号,如Tab之类的,找到对应的查找编码即可,下次有遇到再补充;
3.文本分列的的根据实际情况指定分隔符。
文外话:好记性不如烂笔头,记录所遇问题的解决思路,方便下次再遇到可追溯,如果还能帮助其他遇到同样问题的小伙伴,就更有意义了。总之,共勉。