VBA: Target.Address, воздействующий на столбец перед намеченным столбцом - PullRequest
0 голосов
/ 06 декабря 2018
    'Require New Due Date Comment
    If Range(Target.Address).Value <> "" Then
        MsgBox "Provide Reason for New Due Date", vbOKOnly
        Range(Target.Address).Offset(0, 1).Select
    End If

Привет всем, надеюсь, вы можете помочь, я новичок в VBA, но до сих пор успешно менял код, который мой босс попросил у меня для шаблона.Этот, однако, ставит меня в тупик.Код был написан кем-то, кто больше не работает в компании.

У меня есть электронная таблица с несколькими столбцами, некоторые из которых заблокированы, чтобы пользователь не мог войти, а другие нет, чтобы пользователь мог изменять значения взадачи, которые извлекаются из базы данных.Этот конкретный фрагмент кода должен всплывать в окне сообщения, когда дата вводится в столбец Новая дата выполнения.Вместо этого он появляется, когда я вношу комментарии в столбец перед ним (раздел отмены комментариев).

Я попытался указать столбец в дополнительном операторе if, но это просто полностью отключает всплывающее окно.

У меня почти такая же логика для этого раздела отмены комментариев, и он работает нормально.Тем не менее, он может иметь дополнительный квалификатор другой ячейки, равный значению «отменено», чтобы извлечь из него.Вышеуказанное также может произойти, только если эта ячейка указана как отмененная, но она не требуется, если задача отменена, поэтому она не должна появляться при каждом отмене задачи.

Заранее спасибо!

ETA: Забыл сказать, что это работало как задумано, пока я не добавил еще один столбец на лист по просьбе моего менеджера.Я подумал, что не обозначая конкретный диапазон, все будет в порядке.

1 Ответ

0 голосов
/ 06 декабря 2018

Разобрался.Был еще один раздел кода, ссылающийся не на тот столбец (раньше был O).Спасибо всем!

    If Not Intersect(Target, Range("P14:P1437")) Is Nothing Then
    On Error GoTo PError:

    If InStr(1, Target.Address, ":", 1) > 0 Then

    GoTo PError

    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...