VBA 8.28添加单元格批注 用右键?VBA更快
前景提要
但是如果有很多单元格要插入批注呢?
你还会选择右键一个个的插入吗?
来今天来学习下通过VBA实现批量插入单元格批注
场景说明
我们来虚拟构造一个数据
这是今天的数据源,假设A列的都是考试成绩,我们希望将B列姓名作为批注插入到对应的A列单元格上
右键选择插入批注之后,在复制A列的内容,数据量多了,这操作真是是酸爽,还是来看看VBA的操作
代码区
Sub pizhu()Dim rng As Range, a As RangeSet rng = Application.InputBox('请选择单元格区域', '需要插入批注的单元格区域', , , , , , 8)For Each a In rng a.AddComment a.Comment.Text Text:=a.Offset(0, 1).Value & '的成绩'Next aEnd Sub
来看看效果
来看看效果,成功的把所有的单元格都插入了批注,并且都是按照我们的要求,将右边的单元格内容写入到了批注中
并且增加了一些字段
如果用手工操作来实现这样的效果,工作量还是很大的
这里,我们用相同的代码再来执行一次
我们看到相同的代码再次针对相同的区域再次执行之后,代码执行不成功,出现了报错,为什么会这样呢?
原因也很简单,因为我们选择的单元格本身是有批注的,如果再次添加批注的话,肯定是报错的
所以为了避免这个问题的出现,我们继续完善下
Sub pizhu()Dim rng As Range, a As RangeSet rng = Application.InputBox('请选择单元格区域', '需要插入批注的单元格区域', , , , , , 8)For Each a In rng If a.Comment Is Nothing Then a.AddComment a.AddComment a.Comment.Text Text:=a.Offset(0, 1).Value & '的成绩'Next aEnd Sub
我们再来看下代码执行的效果
这一次代码并没有报错,成功的执行了
代码解析
来看看今天的代码
今天的重点有2个
一个是单元格是否有批注
a.Comment Is Nothing
rng.Comment代表的就是单元格的批注的内容,如果单元格的批注不为空,那么肯定不会是nothing了。
然后我们就可以给单元格增加批注了。
第二个重点,增加单元格的批注内容
a.AddComment a.Comment.Text Text:=a.Offset(0, 1).Value & '的成绩'
要注意,这里有两句代码
两句缺一不可
第一句是执行增加单元格批注的操作
第二句是设置单元格批注的内容
两个操作合在一起,就成功的设置了单元格的批注了。
是不是很简单
从上面的案例中,可以看到,我们先判断了单元格是否存在批注,如果没有批注,才会去增加批注
如果有批注,并没有任何的操作,直接跳过了。
那么,如果我想要修改单元格的批注呢?要如何操作呢?
悬念留到下节,或者小伙伴们是否有知道的呢?也可以在下面留言~~
本节课的案例源码已经上传,需要的小伙伴请按照如下步骤操作,一个不能少哦~~
1.转发下本文章(算是对我的小小支持吧~)
2.点我头像加个关注~
3.后台私信“8-28-H9”
希望大家多支持~~,多多关注 ~ ~
好了,明晚20:00,准时再见!