Como detectar alterações no formato da célula?

Desejo incorporar um procedimento em uma planilha do Excel que detecte quando o formato de uma célula é alterado, por exemplo de texto para número.

Mas não consigo descobrir como obter o tipo de formato da célula. Eu tentei usar oWorksheet_Change manipulador de eventos para verificar o tipo de dados, da seguinte maneira:

Private Sub worksheet_change(ByVal Target As Range)

If Target.Address = "a1" Then
    If VarType(Target) <> 5 Then
        MsgBox "cell format has been changed"
    End If
End If


End Sub

Mas, com esse código, se eu alterar o tipo de dados da célula A1 de Número para Texto,Worksheet_Change não é acionado; o manipulador de eventos será chamado apenas se eu alterar o conteúdo da célula.

Além disso, este procedimento pode detectar se o conteúdo foi alterado de um número para uma sequência alfabética, por exemplo de "35.12" a "abcd", mas não o número do tipo Número para o número do tipo Texto; se eu definir a célula B1 como texto, digite "40" e cole o conteúdo da célula B1 na célula A1,vartype() ainda retorna "5", para que o alerta não seja acionado.

Como posso detectar que o formato foi alterado, independentemente de o tipo de conteúdo ter sido alterado?

questionAnswers(3)

yourAnswerToTheQuestion