требуется комментарий или примечание, когда пользователь изменяет значение ячейки Excel - PullRequest
0 голосов
/ 04 февраля 2019

Я делаю электронную таблицу, в которой есть скидки по умолчанию для различных единиц оборудования.Иногда изменение в скидке оправдано.Но продавцы печально известны изменением скидки, когда она не была авторизована.Я хотел бы потребовать комментарий, если значение по умолчанию изменилось, или даже просто автоматически открыть окно комментария ячейки, если значение изменилось.Какой код я могу использовать, чтобы открыть комментарий (или заметку) для пользовательского ввода из VBA?Кажется, это было бы легко, но я не могу найти это в Интернете.Спасибо !!

1 Ответ

0 голосов
/ 04 февраля 2019

Поскольку вы хотите, чтобы код выполнялся только при изменении цены, вам необходимо ограничить область действия события 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...