Я не хочу использовать прямые ссылки на ячейки в этом бите кода VBA, потому что эти три ячейки этой «формы» будут смещаться. Невозможно найти правильный способ получения именованных диапазонов в подходе Interset Target Range для работы.
Гугл, у меня не было успеха (очевидно), таким образом, ny первый пост. Попытался изменить все, даже случайное завершение в кавычки, без квадратных скобок, добавив .Name. Тьфу. Сегодня пятница.
Чтобы раскрасить историю,
- E18 - StartDate
- E19 - Срок (мес.)
- E20 - Конечная дата
FYI, Смена ячейки запускает код, чтобы работать хорошо. Те же именованные диапазоны хорошо работают в остальной части кода.
Ожидая
Что-то вроде Range («E18: E18, E19: E19, E20: E20») вместо этого превращается в именованные диапазоны (которые по конструкции являются именованными присваиваниями из одной ячейки) в моем нерабочем фрагменте кода ниже.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range([Term_End_Date], [Term_Duration__mo], [Term_Start_Date])) Is Nothing Then Exit Sub
'was If Intersect(Target, Range("E18:E20")) Is Nothing Then Exit Sub
'<snip> rest works well
Спасибо!