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

一、获取单元格的备注

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

(0)

相关推荐

  • 如何计算Excel单元格公式中的部分代码

    平日里,我们只知道在单元格中可以写函数代码.公式和数组,以求得预料中的数据! 这一切,大家都知道在单元格中可以输入公式求结果,可以按回车键或Ctrl+Shift+Enter组合键进行确认以求结果! 但 ...

  • Excel 单元格操作小技巧

    Excel 单元格操作小技巧

  • excel单元格内换行怎么操作

      excel单元格内换行怎么操作 自动换行步骤一:选中要进行操作的单元格,点击鼠标右键,点击设置"单元格格式"选项,弹出"单元格格式"对话框 自动换行步骤二: ...

  • 批量查找替换删除excel单元格中软回车(alt+enter)操作步骤

    在一次excel的操作中,需要将特定的符号(如逗号)全部替换成软回车,网上找到以下方法,特此记录以备用啦 一、查找excel单元格中的换行符(alt + enter) 在excel中要批量查找软回车( ...

  • excel单元格中加上背景字

    在Excel单元格中加上背景字?50有时,为了应付不大会使用EXCEL的人操作方便或给填写表格的人说明此处应该填写的内容,但当只用者双击单元格进行编辑的时候该背景文字自动消失。 为满足上述要求应在一个 ...

  • 如何在EXCEL单元格中输入一个数字自动变成几个相同的数字

    最近有电脑用户反映怎么在EXCEL单元格中输入一个数字自动变成几个相同的数字,比如输入1自动变成6个1,该如何解决呢?下面脚本之家小编为大家带来解决这个问题的教程,需要的朋友们快来借鉴一下吧. 实现是 ...

  • 如何把Excel单元格设置成凹凸有致的效果

    厌烦了Excel单元格那一成不变的平面填充样式了吗?制作凹凸不平有点立体效果的电子表格来换换口味吧。如图1所示。 先来个的简单的。如图2所示。相邻行之间显示凹凸效果。 具体过程是:先选中图示区域A1: ...

  • excel单元格内如何设置换行功能

    如果在某一单元格中输入的文本内容太多,导致无法完全显示,可以通过自动换行的方式将数据在单元格中以多行的方式显示,也就是excel单元格内换行。 一、excel自动换行 自动换行可通过设置段落对齐方式来 ...

  • Excel单元格中条件格式的技巧

    对于Excel表格中的不同数据,我们可以按照不同的条件和要求设置它显示的格式,以便把不同的数据更加醒目地表示出来,这就是Excel单元格中条件格式的应用。也就是说,我们可以根据单元格中数据所满足的不同 ...