|
楼主 |
发表于 2012-5-20 16:10
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
感谢.已经达到我要的意思了.但又有一个BUG.
Dim yuan
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 And Target.Column > 30 Then Exit Sub
If yuan = "" Then Exit Sub
If Target.Value <> "" Then
If Target.Value <> yuan Then
xg = MsgBox("如需修改数据请按“确定”,否则按“取消”", vbOKCancel, "提示")
If xg = 1 Then
If Target.Comment Is Nothing Then
Target.AddComment
Target.Comment.Text Text:=Date & "由" & yuan & "改成" & Target.Value
Else
Target.Comment.Text Text:=Target.Comment.Text & vbCrLf & Date & "由" & yuan & "改成" & Target.Value
End If
Else
Target.Value = yuan
End If
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 And Target.Column > 30 Then Exit Sub
yuan = Target
后来发现将程序作用于整个工作簿还是会出问题,因为有些表被修改了并不要紧.比如查询表.
于是还是放到了需要保护的工作表中.可是我是设置的当列号大于30时.退出程序.但我在大于
30的列号的单元格中修改内容,还是会弹出提示.这是怎么回事. |
|