Мне нужно получить ячейку в диапазоне для жесткого кодирования, когда статус выбран в другом столбце (той же строке) на рабочем листе. Цель состоит в том, чтобы я мог измерить, как долго новый кандидат на работу сидит на каждом этапе (или статусе) процесса найма.
Я пытался написать код для запуска макроса после открытия рабочей книги (module1), а затем для циклического прохождения указанного диапазона ячеек (AC3: AQ5000) после обновления статуса в столбце J с помощью события worksheet_change (лист1). Столбцы AC-AQ имеют формулу для определения даты в ячейке после обновления столбца J до состояния, соответствующего каждому столбцу (=IF($J5=AC$1,IF(AC5<>"",AC5,TODAY()),""))
. Циркулярная ссылка была отключена.
Private Sub Worksheet_change(ByVal Target As Range)
Dim Target As Range
Dim MyCell As Range
Set Target = Sheet1.Range("ac3:aq5000")
For Each MyCell In Target
If MyCell.Value > "" Then
MyCell.Copy
MyCell.PasteSpecial Paste:=x1pasteformats
End If
Next MyCell
End Sub
Я ожидаю, что каждый столбец будет жестко закодировать дату, когда ячейка изменится с пустой на (сегодняшнюю) дату. До сих пор я получаю сообщения об ошибках: "имя-таблицы обнаружено неоднозначное имя", "ожидаемый идентификатор ошибки компиляции" или ничего не происходит.