在已有批注续续vba 添加批注注excel vba代码

巧用Excel VBA批量添加批注--《福建电脑》2012年10期
巧用Excel VBA批量添加批注
【摘要】:Microsoft Excel是微软公司的办公软件Microsoft Office的重要核心组件,在日常的工作中有着广泛的应用。VBA作为一种宏语言,可以扩展Office尤其是Excel的功能,大幅提高用户的工作效率,本文介绍了通过Excel VBA在Excel中批量添加各种类型批注的方法,并给出了实现代码。
【作者单位】:
【关键词】:
【分类号】:TP391.13【正文快照】:
一、引言在Excel的日常使用中,我们经常会因各种原因为Excel中的单元格添加批注,有时是对某些数据进行注解,有时候为了强调一些重要的信息,希望能引起用户的注意。如在图1所示的工作表中,在每个人员姓名所在的单元格上以批注的形式标出了他们各自的毕业证书编号,当鼠标指向姓
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
大开;[J];个人电脑;2005年03期
于志奇;;[J];电脑知识与技术;2009年09期
,许平;[J];电子与电脑;1997年07期
Woody Leonhard
,肖明;[J];电子与电脑;1999年11期
;[J];电脑知识与技术;2003年22期
;[J];个人电脑;1998年12期
季磊;[J];电脑爱好者;1999年09期
;[J];软件世界;1996年02期
罢网别机;[J];微电脑世界;2004年10期
徐江伟;[J];电脑爱好者;1998年11期
中国重要会议论文全文数据库
王辉;杨凯;郎士宁;冯少华;王月蓉;;[A];计算机研究新进展(2010)——河南省计算机学会2010年学术年会论文集[C];2010年
陈士颖;孙晓光;;[A];中华医学会第九次全国核医学学术会议论文摘要汇编[C];2011年
赵全斌;谢剑;赵彤;;[A];第十三届全国结构工程学术会议论文集(第Ⅲ册)[C];2004年
宫国华;;[A];2010年MIS/S&A学术交流会议论文集(中国造船工程学会学术论文集)[C];2010年
李明;程晓霞;闫胜利;;[A];河南省建筑业行业优秀论文集(2008)[C];2008年
王良模;李力;杨祥利;郭福祥;袁刘凯;;[A];2010重庆汽车工程学会年会论文专辑[C];2010年
吕治国;李国君;罗义成;姜华;赵荣娟;;[A];第十四届全国激波与激波管学术会议论文集(下册)[C];2010年
刘德安;梁国坚;王升国;;[A];2011年中国气象学会气象通信与信息技术委员会暨国家气象信息中心科技年会论文摘要[C];2011年
尹洪岩;;[A];河南省地质调查与研究通报2007年卷(下册)[C];2007年
焦珍;高楠;;[A];全国第五届信号和智能信息处理与应用学术会议专刊(第一册)[C];2011年
中国重要报纸全文数据库
宋志明;[N];计算机世界;2004年
乐天 编译;[N];计算机世界;2009年
苏全文;[N];电脑报;2002年
王永耀;[N];电脑报;2001年
宋卓希;[N];中国电脑教育报;2001年
郑金炎;[N];电脑报;2002年
;[N];中国计算机报;2001年
林柠;[N];电脑报;2003年
e河一舟;[N];电脑报;2004年
霍娜;[N];中国计算机报;2009年
中国硕士学位论文全文数据库
吴大伟;[D];北京邮电大学;2010年
来伟;[D];内蒙古师范大学;2011年
韩立杰;[D];河北科技大学;2010年
杜琦;[D];内蒙古大学;2012年
田文利;[D];华东师范大学;2011年
岳中心;[D];电子科技大学;2011年
杨继武;[D];河北科技大学;2012年
徐娜;[D];浙江师范大学;2011年
张巍;[D];黑龙江大学;2011年
杨祖龙;[D];中国地质大学;2003年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号在excel用VBA更改批注的作者
在Excel中,当光标移动到包含批注的单元格中时,通常会在状态栏和批注中显示批注者的名称。如果需要将批注者改为其他人,可以用下面的VBA代码。以后再插入新的批注,也将使用新输入的名称。使用前先将代码中的&新作者&和&原作者&按照需要进行替换。
Sub ChangeCommentName()
Dim ws As Worksheet
Dim cmt As Comment
Dim strOld As String
Dim strNew As String
Dim strComment As String
strNew = &新作者&
strOld = &原作者&
Application.UserName = strNew
For Each ws In ActiveWorkbook.Worksheets
For Each cmt ments
strComment = Replace(cmt.Text, strOld, strNew)
cmt.Delete
cmt.Parent.AddComment Text:=strComment
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------快速批量恢复Excel批注框到默认位置
您现在的位置:&&>>&&>>&&>>&正文
快速批量恢复Excel批注框到默认位置
作者: 文章来源: 点击数: 更新时间: 17:24:14
&&& 在Excel中插入批注时,默认批注会显示在单元格的右上方。有时由于某种原因,批注框的位置会发生改变,当工作表中的批注较多,且在“显示所有批注”的情况下,会显得有些杂乱,如下图。
&&& 要恢复批注的默认位置,逐一拖动批注框会十分繁琐。这时可用下面的方法来快速实现。
&&& 方法一:用选择性粘贴
&&& 1.复制包含批注的区域,如本例中的A2:D17区域,将其粘贴到一个空白位置或新工作表中。
&&& 2.复制粘贴后的区域。
&&& 3.再次选择原区域,如本例为A2:D17区域(或选择A2单元格),鼠标右击,选择“选择性粘贴”,在弹出的对话框中选择“批注”后确定,即可一次将全部批注恢复到默认位置。
&&& 其原理是Excel在复制粘贴批注时会自动恢复其默认位置。
&&& 方法二:用VBA
&&& 按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下面的代码后运行即可。
&&& Sub 恢复批注到默认位置()&&& Dim Cmt As Comment&&& For Each Cmt ments&&&&&&& With Cmt&&&&&&&&&&&.Shape.Top = .Parent.Top - 7.5&&&&&&&&& &.Shape.Left = .Parent.Left + .Parent.Width + 11.25&&&&&& &End With&&& Next&&& End Sub
上一篇文章:
下一篇文章:
&其他网友还在看:
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
::发表评论::
评论内容:
请遵守及中华人民共和国其他各项有关法律法规。
严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
评论需要审核通过后才可见,本站管理员有权保留或删除评论内容。
评论内容只代表网友个人观点,与本网站立场无关。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Excel技巧天地 E-mail:2496人阅读
VBA宏(15)
以下宏程序来自于百度知道网友的回答
在C4到Z100范围内,单元格内容发生变化时,将系统日期追加到该单元格的批注中
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(&c4:z100&)) Is Nothing Then Exit Sub
If Target.Count & 1 Then Exit Sub
ment Is Nothing Then
Target.AddComment.Text Text:=CStr(Now())
ment.Delete
Target.AddComment.Text Text:=CStr(Now())
ment.Visible = False
以下是我个人的修改
如果是判断某列内容修改,然后在该列后一列主键系统日期,则宏文件如下:
Private Sub Worksheet_Change(ByVal Target As Range)
'变更单元格的列号(1=A,2=B..)
Dim col As Integer
col = Target.Column
'变更单元格的行号
Dim row As Integer
row = Target.row
If col = 13 Or col = 16 Or col = 19 Or col = 22 Or col = 25 Or col = 28 Or col = 31 Then
'指定列之后列位置自动填写系统日期
Cells(row, col + 1) = CStr(Now())
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:616804次
积分:7614
积分:7614
排名:第1998名
原创:84篇
转载:536篇
评论:30条
(2)(1)(1)(1)(1)(3)(4)(4)(4)(3)(11)(5)(4)(5)(3)(9)(9)(14)(11)(15)(17)(21)(19)(34)(25)(21)(13)(17)(5)(8)(9)(9)(4)(13)(14)(23)(14)(10)(23)(193)(18)(1)查看: 1283|回复: 7
EXCEL 表格 如何自动添加文字到批注
阅读权限10
在线时间 小时
(2.52 KB, 下载次数: 10)
19:11 上传
点击文件名下载附件
请问 EXCEL 表格 如何自动添加文字到批注 按日期排列
阅读权限90
在线时间 小时
Private Sub Worksheet_Change(ByVal Target As Range)
& & If Intersect(Target, Columns(&f&)) Is Nothing Then Exit Sub
& & Application.EnableEvents = False
& & ment Is Nothing Then
& && &&&Target.AddComment Target.Text
& & Else
& && &&&ment.ment.Text & vbLf & Target.Text
& & End If
& & Target.Value = &&
& & Application.EnableEvents = True
End Sub
复制代码
阅读权限90
在线时间 小时
(7.58 KB, 下载次数: 28)
20:13 上传
点击文件名下载附件
阅读权限10
在线时间 小时
本帖最后由 jason35777 于
23:50 编辑
谢谢楼主帮忙,请问下,我如果在 a列 B列 C列等等 增加更多这种批注?
阅读权限95
在线时间 小时
jason35777 发表于
谢谢楼主帮忙,请问下,我如果在 a列 B列 C列等等 增加更多这种批注?
具体看你怎么需求了吧
If Intersect(Target, Columns(&f&)) Is Nothing Then Exit Sub
Columns(&f&) 这是指f列,如果需abc列,可以修改
If Intersect(Target,union(Columns(&a:c&) , Columns(&f&))) Is Nothing Then Exit Sub
或者对target.column进行判断
如果只需要f列,判断如下:
if target.column&&6 then exit sub
其他可以可以做类似判断的
阅读权限90
在线时间 小时
jason35777 发表于
谢谢楼主帮忙,请问下,我如果在 a列 B列 C列等等 增加更多这种批注?Private Sub Worksheet_Change(ByVal Target As Range)
& & If Intersect(Target, Columns(&f&)) Is Nothing _
& & And Intersect(Target, Columns(&a&)) Is Nothing _
& & And Intersect(Target, Columns(&g&)) Is Nothing _
& & Then Exit Sub
& &
& & Application.EnableEvents = False
& & ment Is Nothing Then
& && &&&Target.AddComment Date & & & & Target.Text
& & Else
& && &&&ment.ment.Text & vbLf & Date & & & & Target.Text
& & End If
& & Target.Value = &&
& & Application.EnableEvents = True
End Sub
复制代码
阅读权限10
在线时间 小时
liu-aguang 发表于
您好,发现一问题,只要把文字打入表格中 就会自动产生一个批注,文字直接就到批注了。
请问可以自己插入批注后在表格打入识文字才可以自动把文字到批注?意思是自己插入的批注才生效,谢谢
阅读权限90
在线时间 小时
jason35777 发表于
您好,发现一问题,只要把文字打入表格中 就会自动产生一个批注,文字直接就到批注了。
请问可以自己插入 ...
原代码是根据原要求书写.你的描述太宏观,无从下手.请详细描述使用方式:
1.在任意单元格还是在特定的列或行;
2.输入到单元格的内容送到批注后,是否在单元格中保留内容.
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师

我要回帖

更多关于 vba 删除批注 的文章

 

随机推荐