つらつら Excel VBA

私の備忘録です。

セルと文字の書式削除

全部書式を削除したい。

Selection.ClearFormats 'セル書式のクリア


以下画像のような文字の書式は、セル書式のクリアでは消えない。同じ理由で他セルからのセル書式上書きでも消えない。


文字の書式は、文字自体を上書きしてしまえば消える!・・・たぶん消えてる!

Sub 選択箇所の書式を削除()
    Dim r As Range
    Set r = Selection
    
    r.Value = r.Value '文字の上書き
    r.ClearFormats 'セル書式のクリア
End Sub

※上記画像の場合、文字「書式」を「書式」に置換すると書式が消える不思議。分からんけど置換は文字全部を再セットしている?


文字を扱うCharactersオブジェクトを使うのが正しい気がするが、消すだけなのでヨシ!
Charactersを使う場合、セル内で256文字を超えた時の処理を書かんといかん模様。
Excel表計算ソフトです。

以上。