データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
提示されたコードがそのまま掲載されていたとしたら、間違ってます。
>dss = ActiveWorkbook.Styles.Item(i)
このdssはStyleつまりオブジェクトですから
Set dss = ActiveWorkbook.Styles.Item(i)
とする必要があります。(これが決定的です)
次に、
>For i = 1 To t
削除を含むループを下からやると削除されたところより上のオブジェクトのインデックスが狂ってきますから
上の方からループする必要があります。(1 to t だと多分いくつかStyleが削除されずに残ると思います)
For i=t to 1 step -1
また、On error Resume next
でエラーの場合続行してますから、おかしくなっているのが分かりません。
これをはずしていれば、少なくともコードがおかしいことはすぐ分かったはずです。
↓のように修正してお試しください。
Sub Default_Style()
Dim dss
t = ActiveWorkbook.Styles.count
For i = t To 1 Step -1
Set dss = ActiveWorkbook.Styles.Item(i)
If Not dss.BuiltIn Then
dss.Delete
End If
Next
End Sub