2020年7月7日

周二好!

生活皆成长,成长即人生。懂得皆放下,放下即重生。

批量提取批注。

如下图所示:A列数据是带有批注的数据。

EsayExcel 插入表头字段_微信


右击工作表,点击查看代码,自动弹出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


EsayExcel 插入表头字段_VBA_02


点击关闭VBA窗口,回到Excel表格中。 在任意位置输入自定义公式: =GetComment(A2) 下拉填充公式,即可批量提取出A列数据的批注。

EsayExcel 插入表头字段_微信_03


批量删除批注。


如下图所示:A列数据是带有批注的数据。



EsayExcel 插入表头字段_微信


右击工作表,点击查看代码,自动弹出VBA窗口,复制粘贴如下代码,点击运行按钮, 弹出提示框:选择删除批注的单元格范围

,我们选择范围区域:A列区域,可以鼠标勾选区域或者手动输入都可以。点击确定, 我们发现,A列带批注的数据中的批注已经不见了。

Sub DelComment2() 
      Dim Rng As Range 
      Set Rng = Application.InputBox("请选择删除批注的单元格范围。", Type:=8) 
      Rng.ClearComments 
  End Sub


EsayExcel 插入表头字段_EsayExcel 插入表头字段_05


批量添加批注。

如下图所示,如何批量给A列数据添加D列对应的批注。即把D列对应的单元格里面的数据当做批注信息,给A列数据添加为批注。

EsayExcel 插入表头字段_excel不同文件表格批量加表头vba_06


右击工作表,点击查看代码,自动弹出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列数据的批注。

EsayExcel 插入表头字段_EsayExcel 插入表头字段_07

最后我们将A2:A7区域数据,复制,选择性粘贴为数值至C2:C7单元格,同时将A1表头复制粘贴至C1。就完成了批量添加批注的效果。

EsayExcel 插入表头字段_EsayExcel 插入表头字段_08


不要随意对任何一个Excel知识点定义为无用论,因为只有合适的问题在合适的模型运用合适的Excel技巧,才能实现其最大作用。所以你的知识储备很重要!

相互尊重,抱团成长。

隔三差五学个Excel小知识,忘记一天工作的烦恼,只要坚持,最后可能不会得到最好的结果,但一定不会收获最坏的结果。赖床舒服,但可能迟到;熬夜很爽,但伤身体。自律或许并不容易,但你越懒惰越放纵自己,就越可能错过美好的人和事。如果生活注定充满艰辛,那就学着做拯救自己的那个英雄。趁年轻不妥协,向前奔跑!从今天开始改变,对平庸生活奋力回击。

EsayExcel 插入表头字段_微信_09