我正在制作一个电子表格,其中有不同设备的默认折扣。有时需要折扣。但是,售货员因未经授权而更改折扣而臭名昭著。如果要更改默认值,我想要求发表评论,如果更改了值,我什至只是自动打开单元格评论窗口。我可以使用什么代码打开注释(或注释)以供VBA用户输入?似乎很简单,但我无法在线找到它。谢谢!
答案 0 :(得分:0)
由于您只希望代码在价格变动时执行,因此您需要限制WorkSheet_Change
事件的范围。理想情况下,您的价格将跨越一列。
仅当在Column E
上更改单元格时,此代码才会执行-您需要相应地对其进行更改。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Change this line to modify scope of macro
If Target.Count <> 1 Or Target.Column <> 5 Then Exit Sub
Dim Reason As String
MsgBox "Changing the price requires a comment", vbCritical
On Error Resume Next
Reason = Application.InputBox("Please justify the price discount: ", "Discount", Type:=2)
On Error GoTo 0
If Reason = "" Or Reason = "False" Then
Application.EnableEvents = False
MsgBox "Unable to change price"
Application.Undo
Application.EnableEvents = True
Else
Target.ClearComments
Target.AddComment Reason
End If
End Sub