VBA完全操作Excel单元格备注Cell Comments的代码
发布时间:2022-02-22 05:29:54
一、获取单元格的备注
Private SubCommandButton1_Click()
Dim strGotIt As String
strGotIt
= WorksheetFunction.Clean(Range("A1").Comment.Text)
MsgBox strGotIt
End Sub
Range.Comment.Text用于得到单元格的备注文本,如果当前单元格没有添加备注,则会引发异常。注意代码中使用了WorksheetFunction对象,该对象是Excel的系统对象,它提供了很多系统函数,这里用到的Clean函数用于清楚指定文本中的所有关键字(特殊字符),具体信息可以查阅Excel自带的帮助文档,里面提供的函数非常多。下面是一个使用Application.WorksheetFunction.Substitute函数的例子,其中第一个Substitute将给定的字符串中的author:替换为空字符串,第二个Substitute将给定的字符串中的空格替换为空字符串。
Private FunctionCleanComment(author As String, cmt As String) As String
Dim tmp As String
tmp = Application.WorksheetFunction.Substitute(cmt, author & ":", "")
tmp = Application.WorksheetFunction.Substitute(tmp, Chr(10), "")
CleanComment = tmp
End Function
二、修改Excel单元格内容时自动给单元格添加Comments信息
Private SubWorksheet_Change(ByVal Target As Excel.Range)
Dim newText As String
Dim oldText As String
For Each cell In Target
With cell
On Error Resume Next
oldText = .Comment.Text
If Err <> 0 Then .AddComment
newText = oldText & " Changed by " & Application.UserName & " at " & Now & vbLf
MsgBoxnewText
.Comment.Text newText
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End With
Next cell
End Sub
Comments内容可以根据需要自己修改,Worksheet_Change方法在Worksheet单元格内容被修改时执行。
三、改变Comment标签的显示状态
SubToggleComments()
If Application.DisplayCommentIndicator = xlCommentAndIndicator Then
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
Else
Application.DisplayCommentIndicator = xlCommentAndIndicator
End If
End Sub
Application.DisplayCommentIndicator有三种状态:xlCommentAndIndicator-始终显示Comment标签、xlCommentIndicatorOnly-当鼠标指向单元格的Comment pointer时显示Comment标签、xlNoIndicator-隐藏Comment标签和单元格的Comment pointer。
四、改变Comment标签的默认大小
SubCommentFitter1()
With Range("A1").Comment
.Shape.Width = 150
.Shape.Height = 300
End With
End Sub
注意:旧版本中的Range.NoteText方法同样可以返回单元格中的Comment,按照Excel的帮助文档中的介绍,建议在新版本中统一使用Range.Comment方法。


猜你喜欢
- 1.选中需要拆分的数据,将需要拆分的数据中间用空格或者其它符号隔开,接着点击工具栏的“数据”→“分列” 2.接着会
- iPhone 可以直接使用 MacBook 笔记本的电源适配器进行快速充电,但 Mac 是否支持直接为 iPhone 充电呢?充电时的功率有
- 更改默认输入法可还是觉得不大妥当,原来是切换输入法的快捷键出了问题,快捷键默认是Shift+Alt,与我们使用的Ctrl+Shift大相径同
- ppt怎么羽化图片?想要给图片做一个羽化的效果,使用ps很简单就可以制作出来,今天我们就来看看ppt图片做羽化效果的教程,需要的朋友可以参考
- win7 系统有时候会出现U盘识别问题,插入U盘后不直接识别,而是系统开始安装驱动,经常会提示驱动安装失败,这里教大家一个解决的小办法,只对
- 开机启动项是让我们很纠结的一个问题,除了一些必要的杀毒软件等,是默认开机启动的之外,还有许多安装的应用软件也会选择开机启动,这些开机启动项很
- 组织结构图是很多企业流程运转、部门设置等最基本的结构依据,绘制结构图的方法也有很多种,通过PPT、Word、PS等软件都可以实现,但是最近笔
- 在我们使用win10系统的电脑的时候,会有一些用户为了自身的安全,而在自己的电脑上设置开机密码,而最近有部分win10用户却遭遇到了这样一个
- 不少联想电脑用户总有这些问题,联想电脑重装系统bios设置怎么操作?重装系统时联想电脑bios怎么设置呢?联想电脑重装系统bios设置的方法
- Excel中经常需要使用到换行的技巧,表格内具体该如何进行换行呢?下面是由小编分享的excel表格内进行换行操作的教程,以供大家阅读和学习。
- 很多的小伙伴们都在寻找win7系统修复模式怎么操作步骤?今天小编就为你带来了win7电脑系统修复操作教程一起来看看吧。win7电脑系统修复操
- Win10系统电脑空闲两分钟后会黑屏了怎么回事?此问题大部分出现在WIN10笔记本电脑上,Windows10系统电脑在空闲几分钟会,会自动进
- PPT作为 各人 常常 利用的办公软件,在 事情中起着 无足轻重的 感化,一个好的PPT演示文档 可以让你从 世人中 锋芒毕露, 胜利 吸收
- Win 10 20H1快速预览版19002怎么手动更新升级?想要将自己的win10系统审计到19002预览版,该怎么升级呢?下面我们就来看看
- Win11如何加密dns?此前微软为win11提供了dns加密服务,但是还是有很多用户不知道如何在win11加密dns,其实我们只需要打开网
- 使用Win8系统的用户可能会发现这么一个问题,当Win8系统正常连接蓝牙后,如果没有双击点击它,很快蓝牙就会显示为脱机状态。总是显示脱机状态
- 使用 Word制作提示语的时候,需要设置超大字体。具体该怎么操作呢?第一步:启动WPS软件,在菜单栏里找到“文件”并选择新建文档: 
- 在excel当中,数据透视表是数据魔方工具,能快速对数据进行各种分析,但如何制作成图表呢?下面就跟小编一起看看吧。EXCEL表格创建数据透视
- Excel中的边框线经常需要进行加粗操作,边框线具体该如何进行加粗呢?下面是小编带来的关于excel给表格边框线加粗的教程,希望阅读过后对你
- IE10不记账号密码很是烦人,每次都要重复输入,下面有个不错的方法可以解决这个问题,下面就来看看是如何实现的首先,开打IE选择工具打开Int