当前位置:网站首页>Excel答粉丝问:批量将单元格内容转为批注
Excel答粉丝问:批量将单元格内容转为批注
2020-12-18 10:07:44 【亦心Excel】
点赞再看,养成习惯;烈士暮年,壮心不已。
微信搜索【亦心Excel】关注这个不一样的自媒体人。
本文GitHub https://github.com/hugogoos/Excel 已收录,包含Excel系统学习指南系列文章,以及各种Excel资料。
前几天有粉丝问:请问有没有方法把单元格里内容批量编辑成批注,且每个单元格内容不同,主要是发票编码?
我们知道批量给单元格区域添加相同的批注,可以通过选择性粘贴中的批注选项就可以实现,而且还是在现有批注基础上复制。
因此这位粉丝的问题,是没法直接通过现有功能实现的,但是强大的Excel还是留了解决复杂问题的后路的,那就是VBA。今天小编就来分享如何把不同单元格内容批量转为批注。
下面会用到VBA中Sub子程序,简单来说Sub子程序可以通过宏来执行,其他这里就不详细说明了,等着VBA系列文章再说,这里先解决问题。
1、单元格自身内容变成批注
我们先来做个简单的把单元格自身的内容变成本单元格的批注。
如上图,把C4:C9单元格区域内容就添加成自己的批注。
操作也很简单,首先点击「开发工具」选项卡「代码」命令组下的「Visual Basic」,即会弹出VBA开发窗体,接着在「VBAProject」→「Microsoft Excel 对象」下面选择当前工作表,并右击鼠标选择「插入」下的「模块」。
没有「开发工具」选项卡的可以通过「文件」选项卡下的「选项」调出「Excel选项」对话框,点击「自定义功能区」,主选项卡勾选「开发工具」。
此时「VBAProject」下面会多出一个「模块」,我们把默认的“模块1”重命名为“批注Sub子程序”,并且右边灰色区域也会多出一个空白编辑器。
Sub 添加单元格内容为自身批注()
Dim r As Range, rs As Range
Set rs = Selection
For Each r In rs
If r.Value <> "" Then
If Not r.Comment Is Nothing Then
r.Comment.Text Text:=r.Text
Else
r.AddComment r.Text
End If
End If
Next r
End Sub
并把上面代码复制到空白编辑器中,然后点击保存,弹出的对话框点击是,然后关闭VBA窗体。
然后选中C4:C9单元格区域,点击「开发工具」选项卡「代码」命令组下的「宏」,然后选择上面代码中的方法名「添加单元格内容为自身批注」,点击执行即可。
我们来看看完整的动画效果:
2、把前一列单元格内容变成后一列批注
把自身内容变成批注,实现是简单了些,但是实际应用场景就比较少了,可能我们更多的是希望把某一列内容变成另一列的批注。
如上图我们希望把B列里的内容,变成C列的批注。
其实有了前面的例子就很简单了,我们只需要修改少许代码即可。修改后的代码如下:
Sub 添加前一列单元格内容为批注()
Dim r As Range, rs As Range
Set rs = Selection
For Each r In rs
If r.Value <> "" Then
If Not r.Comment Is Nothing Then
r.Comment.Text Text:=r.Offset(0, -1).Value
Else
r.AddComment r.Offset(0, -1).Value
End If
End If
Next r
End Sub
其中r.Offset(0, -1).Value表示取同一行前一个单元格的值。
操作过程跟上面方法一样,这里就不详细描述了,直接看动态图:
当然这个方式感觉还是有点瑕疵,就是只能在代码里写死取哪一列的值,那么是否可以直接通过一个变量,输入哪一列就取哪一列呢?那是否可以通过自定义函数的形式实现呢?这两个问题就留给大家自己思考了。
今天的分享到这里就结束了,但是学习的道路才刚刚开始,希望我们可以在学习的道路上不断地前进,坚持不懈。
如果你有感兴趣的功能,可以告诉小编哦,小编会为你写一篇相应的文章。当然是先到先写哈,我会列一个计划表,尽量满足大家的需求,所以如果下一篇不是你要的文章,请不要着急,可能就在下下篇。记得告诉小编你想学习的功能哦。
文章持续更新,可以微信搜索「 亦心Excel 」第一时间阅读,本文 GitHub https://github.com/hugogoos/Excel 已经收录,包含Excel系统学习指南系列文章,欢迎Star。
版权声明
本文为[亦心Excel]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4767676/blog/4814775
边栏推荐
猜你喜欢
-
涨点明显 | 港中文等提出SplitNet结合Co-Training提升Backbone性能(附源码和论文)
-
旅游四天,吃了一顿七千的饭,坐了一趟一万多的地铁,心疼肾更疼
-
2020技术征文大赛开启 | 鸿蒙初开绘新卷 众人奋笔筑生态
-
瑞萨MCU涨价引发的。。。
-
旅游四天,吃了一顿七千的饭,坐了一趟一万多的地铁,心疼肾更疼
-
【B站直播】9场 Workshop Substrate Hackathon 赛前指导(12.9–17)
-
2020阿里云双12-企业飞天会员年终盛典全攻略
-
以澎湃好物为例,深度拆解一篇优秀的导购文案文章
-
内存卡里面的文件名目录名或卷标语法不正确也打不开文件的找回法子
-
为什么搞不懂数据库索引?那是因为你心里没点b树
随机推荐
- TMS320C6678+Kintex-7视频采集处理案例 | 基于创龙CameraLink、SDI、PAL、HDMI等视频采集模块
- Excel基础:开始菜单之字体的华丽转身
- 动态调整下载积分功能下线!粉丝服务功能上线!
- Harmony OS 打包
- 重磅!教育部:不得将发论文和物质奖励挂钩,防止高额奖励论文
- 阿里内部架构解密:网络+分布式+RPC+消息中间件+微服务
- 一文读懂transformer(CV专享)
- Excel中如何防止重复输入,这两个小妙招学会了吗?
- #2020征文-手机#【鸿蒙基地】全球首款升级到鸿蒙的华为手机
- 荣耀手环6太带劲 大屏时代终来临
- 如今,为何要采用新型云WAF取代传统Web应用程序防火墙?
- 一个好习惯——每年至少更新一次简历
- 边缘智能还能怎么玩?KubeEdge AI SIG 带你飞
- U盘出现“位置不可用无法访问介质受写入保护”的解决方法
- Unity 3D导入三维模型
- 四川某高校教授年终奖仅8元,众教授寒风中讨薪
- 初识 D3.js :打造专属可视化
- 五、Vim编辑器与Shell命令脚本——用户身份与文件权限
- 《从零开始的RPG游戏制作教程》第五期:制作物品和技能
- 初识 D3.js :打造专属可视化
- 完全图解GPT-2:看完这篇就够了(二) - 知乎
- 外国教授在B站当UP主上课,网友直呼好家伙:滑铁卢大学《差分隐私》课程上线...
- SDNU_ACM_ICPC_2021_Winter_Practice_4th [个人赛]
- 微信刚更新8.0版本!程序员直呼:天天更新软件!能不能消停点?
- 宁芝静电容键盘87键有线泡水版调成完美苹果模式
- Go语言中时间轮的实现
- 2010年下半年 电子商务设计师 下午试卷 案例 软考真题【含答案和解析】
- 《从零开始的 RPG 游戏制作教程》第九期:信息反馈(上)
- 写代码有这16个好习惯,可以减少80%非业务的bug
- 旅游四天,吃了一顿七千的饭,坐了一趟一万多的地铁,心疼肾更疼
- PornNet:色情视频内容识别网络