登录说明 | 升级会员 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 软件程序

【VBA案例】修改单元格内容会被记录到批注

时间:2023-03-04 20:05:28  来源:  作者:

'在所有过程之前用Dim语句定义的变量r1是模块级变量,应模块中所有的过程都可以使用它DZu检测VBA

Dim r1 '定义一个模块给变量,用户保存单元格的数据DZu检测VBA

'第一个事件过程,用于记录被更改前单元格中保存的数据DZu检测VBA

Private Sub Worksheet_SelectionChange(ByVal Target As Range)DZu检测VBA

If Target.Cells.Count <> 1 Then Exit Sub '选中多个单元格时退出程序DZu检测VBA

If Target.Formula = "" Then '根据选中单元格中保存的数据,确定给变量r1赋什么值DZu检测VBA

    r1 = "空"DZu检测VBA

ElseDZu检测VBA

    r1 = Target.TextDZu检测VBA

End IfDZu检测VBA

End SubDZu检测VBA

'第二个事件过程,用于批注记录单元格修改前后的信息DZu检测VBA

Private Sub Worksheet_Change(ByVal Target As Range)DZu检测VBA

If Target.Cells.Count <> 1 Then Exit SubDZu检测VBA

'定义变量保存单元格修改后的内容DZu检测VBA

Dim r2DZu检测VBA

'判断单元格是否被修改为空单元格DZu检测VBA

If Target.Formula = "" ThenDZu检测VBA

    r2 = "空"DZu检测VBA

ElseDZu检测VBA

    r2 = Target.FormulaDZu检测VBA

End IfDZu检测VBA

'如果单元格修改前后的内容一样则退出程序DZu检测VBA

If r1 = r2 Then Exit SubDZu检测VBA

'定义一个批注变量DZu检测VBA

Dim r3DZu检测VBA

'定义一个变量保存批注内容DZu检测VBA

Dim r4DZu检测VBA

'将被修改单元格的批注赋给变量r3DZu检测VBA

Set r3 = Target.CommentDZu检测VBA

'如果单元格中没有批注则新建批注DZu检测VBA

If r3 Is Nothing Then Target.AddCommentDZu检测VBA

'将批注的内容保存到变量r4中DZu检测VBA

r4 = Target.Comment.TextDZu检测VBA

'重新修改批注的内容=原批注内容+当前日期和时间+原内容+修改后的新内容DZu检测VBA

Target.Comment.Text Text:=r4 & Chr(10) & Format(Now(), "yyyy-mm-dd hh:mm") & "原内容:" & r1 & "修改为:" & r2DZu检测VBA

'根据批注内容自动调整批注大小DZu检测VBA

Target.Comment.Shape.TextFrame.AutoSize = TrueDZu检测VBA

End SubDZu检测VBA

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
合肥住建口检测单位招聘,高级工程师+协会九大专项证书,人员全职兼职均可
合肥住建口检测单位招
关于印发安徽省建设工程专业技术资格评审标准条件的通知(图文)
关于印发安徽省建设工
一般溶液有效期一览表
一般溶液有效期一览表
2022年一建《机电》真题解析
2022年一建《机电》真
相关文章
    无相关信息
栏目更新
栏目热门