Detectando cambio de hoja, limpiando la hoja dando un desbordamiento

tengo unWorksheet_Change evento, actualmente en laSheet Module Level. El problema es que quiero poder borrar esta hoja a veces. Sin embargo, cuando borro mi hoja obtengo un desbordamiento:

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

Estoy tratando de lograr lo siguiente:

Presiono un botón y la hoja se borra (borra los datos de fórmula de matriz existentes), Luego pego una fórmula en la hoja y llamo a la fórmula. La fórmula devuelve datos al caché de Excel y cambia la celda que contiene esta fórmula (A4) a una cadena que dice "cargado". Cuando detecto un cambio de celda con el valor "cargado", hago el equivalente enCtrl + Cambio + Entrar en una función de fórmula matricial a continuación, para mostrar los datos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta