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,准时再见!

(0)

相关推荐