Обнаружение смены листа, очистка листа с переполнением
у меня естьWorksheet_Change
событие, в настоящее время наSheet Module Level
, Проблема в том, что я хочу иногда очищать этот лист. Однако, когда я очищаю свой лист, я получаю переполнение:
Private Sub Worksheet_Change(ByVal Target As Range)
'This is the line causing the problem because clearing the whole sheet causes the count to be massive
If Target.Count = 1 Then
If Target = Range("A4") Then
If InStr(LCase(Target.Value), "loaded") <> 0 Then
Range("A5").FormulaArray = "=My_Function(R[-1]C)"
End If
End If
End If
End Sub
Я пытаюсь добиться следующего:
Я нажимаю кнопку и лист очищается (очищает существующие данные формулы массива), Затем я вставляю формулу в лист и вызываю формулу. Формула возвращает данные обратно в кэш Excel и заменяет ячейку, содержащую эту формулу (A4), на строку с надписью «загружено». Когда я обнаруживаю изменение ячейки со значением «загружен», я делаю эквивалент наCtrl + сдвиг + Войти на функцию формулы массива ниже, чтобы отобразить данные.