2020年7月7日
周二好!
生活皆成长,成长即人生。懂得皆放下,放下即重生。
批量提取批注。
如下图所示:A列数据是带有批注的数据。
右击工作表,点击查看代码,自动弹出VBA窗口,选择插入,点击插入模块。 在插入的模块当中,复制粘贴如下代码,目的是用来自定义公式。
Function
GetComment
(Rng As Range)
Dim t As String
If Rng.Comment Is Nothing Then '判断rng是否包含批注
t = ""
Else
t = Rng.Comment.Text
End If
GetComment = t
End Function
点击关闭VBA窗口,回到Excel表格中。
在任意位置输入自定义公式:
=GetComment(A2)
下拉填充公式,即可批量提取出A列数据的批注。
批量删除批注。
如下图所示:A列数据是带有批注的数据。
右击工作表,点击查看代码,自动弹出VBA窗口,复制粘贴如下代码,点击运行按钮, 弹出提示框:选择删除批注的单元格范围
,我们选择范围区域:A列区域,可以鼠标勾选区域或者手动输入都可以。点击确定, 我们发现,A列带批注的数据中的批注已经不见了。
Sub DelComment2()
Dim Rng As Range
Set Rng = Application.InputBox("请选择删除批注的单元格范围。", Type:=8)
Rng.ClearComments
End Sub
批量添加批注。
如下图所示,如何批量给A列数据添加D列对应的批注。即把D列对应的单元格里面的数据当做批注信息,给A列数据添加为批注。
右击工作表,点击查看代码,自动弹出VBA窗口,复制粘贴如下代码,点击运行按钮。 Sub AddComment()
Dim rng As Range, rngEach As Range
Set rng = Application.InputBox("请选择增加批注的单元格范围。", Type:=8)
Set rng = Intersect(rng.Parent.UsedRange, rng) 'Intersect避免选择整列时,造成无谓循环以致代码效率低下。
If rng Is Nothing Then Exit Sub
For Each rngEach In rng
If rngEach.Comment Is Nothing Then rngEach.AddComment '如果单元格没有批注……则增加批注
rngEach.Comment.Text Text:=rngEach.Value & "" '输入批注内容
Next
End Sub
点击运行按钮后, 自动弹出提示框:请选择增加批注的单元格范围。
我们选择范围为:C2:C7 区域。用鼠标选择范围即可,也可以手动输入。最后点击确定,关闭VBA窗口。自动回到Excel表格中,我们发现C列数据已经形成了C列数据的批注。
最后我们将A2:A7区域数据,复制,选择性粘贴为数值至C2:C7单元格,同时将A1表头复制粘贴至C1。就完成了批量添加批注的效果。
不要随意对任何一个Excel知识点定义为无用论,因为只有合适的问题在合适的模型运用合适的Excel技巧,才能实现其最大作用。所以你的知识储备很重要!
相互尊重,抱团成长。
隔三差五学个Excel小知识,忘记一天工作的烦恼,只要坚持,最后可能不会得到最好的结果,但一定不会收获最坏的结果。赖床舒服,但可能迟到;熬夜很爽,但伤身体。自律或许并不容易,但你越懒惰越放纵自己,就越可能错过美好的人和事。如果生活注定充满艰辛,那就学着做拯救自己的那个英雄。趁年轻不妥协,向前奔跑!从今天开始改变,对平庸生活奋力回击。