VBA完全操作Excel单元格备注Cell Comments的代码

2016-02-19 15:04 82 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐VBA完全操作Excel单元格备注Cell Comments的代码,赶紧看过来吧!

【 tulaoshi.com - Excel教程 】

一、获取单元格的备注

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

Selection.AutoSize = True

.Comment.Visible = False

End With

Next cell

End Sub

Comments内容可以根据需要自己修改,Worksheet_Change方法在Worksheet单元格内容被修改时执行。

三、改变Comment标签的显示状态

SubToggleComments()

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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方法。

来源:http://www.tulaoshi.com/n/20160219/1608749.html

延伸阅读
标签: 电脑入门
在Excel中,为了增强活动单元格的对比性,有时候我们常常需要修改其背景颜色、字体、字号等,用来区分和其它单元格的对比! 本教程,让我们一起来学习,如何让Excel活动单元格所在行和列都着上背景颜色,首先看下图。 上图中,即C3单元格,被鼠标选中,说明是活动的单元格,如何做才能做到如上图的效果,C3活动单元格所在的行和列,其背景...
标签: 电脑入门
前面一课给大家讲解了Excel中合并单元格的方法,这里再来说一下怎么拆分单元格。拆分的前提必须是你已经合并了多个单元格,然后将他们拆分开来,若是一个单个的单元格是无法拆分的。这里简单的说说Excel07和03这两个版本中各自拆分单元格的方法。 Excel2003中如何拆分单元格? 下图是我将多个单元格合并成了一个单元格,现在我们开始拆分; ...
标签: excel
选中区域   先选中所要合并的区域,注意合并只能是相连的单元格才行。选中的方法如下图,可以直接从A1拖拽到D1;或者选择A1,然后按住shift键点击D1,即可选中A1--D1的区域; 合并及居中   然后在上面的格式栏里找到“合并及居中”,点击这个按钮; 点击确定   点击“合并及居中”后,会出现警示对话框,说...
标签: excel
Excel单元格出现####错误   我们可能会遇到Excel单元格出现####号的情形,尤其是在用函数公式进行计算,毕竟函数是个非常严密的东西,参数不正确等等原因都会导致结果不对,显示####错误。但是,不仅仅就是这一tulaoshi种情形下会出现###号,下面,我就详细的来介绍一下。 出现###错误情形一: 单元格宽度不足以显示结果而...
标签: excel
Excel怎么拆分单元格   由于Excel本身就是有许多小的表格组成的,因此我们无法拆分单元格,您可以插入行或列,同时也可以合并单元格,所谓的拆分单元格,就是将已经合并的单元格执行撤消操作。 1、首先,我们可以将几个单元格进行合并,用鼠标选中要合并的表格,点击如下图: 2、然后在合并后的单元格上右键 3、...

经验教程

317

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部