Jak wykryć zmiany w formacie komórki?

Chcę osadzić procedurę w arkuszu programu Excel, która wykryje, kiedy zmienia się format komórki, np. od tekstu do numeru.

Ale nie wiem, jak uzyskać typ formatu komórki. Próbowałem użyćWorksheet_Change moduł obsługi zdarzeń, aby sprawdzić typ danych, w następujący sposób:

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

Ale z tym kodem, jeśli zmienię typ danych komórki A1 z Number na Text,Worksheet_Change nie jest uruchamiany; procedura obsługi zdarzeń jest wywoływana tylko wtedy, gdy zmienię zawartość komórki.

Również ta procedura może wykryć, czy zawartość jest zmieniana z liczby na ciąg alfabetyczny, np. od „35,12” do „abcd”, ale nie od numeru typu do numeru typu tekstowego; jeśli ustawię komórkę B1 na tekst, wpisz „40”, a następnie wklej zawartość komórki B1 do komórki A1,vartype() nadal zwraca „5”, więc alert nie jest wywoływany.

Jak mogę wykryć zmianę formatu, niezależnie od tego, czy zmienił się typ zawartości?

questionAnswers(3)

yourAnswerToTheQuestion