データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
一般論ですが、OfficeでもOSでもバージョンが変わった時、すべてが当然のように下位互換があると思われない方がよろしいと思います。(WindowsやOfficeに限りません)
ですから、プラットフォームのバージョンが変わった時はすべて詳細な再テストが必要だと考えて頂いても差し支えないくらいです。(ある意味動かなくて当然と言う態度が必要です)
動かなくなる理由はいくらでもありますが、同じ機能でもプロパティが追加され、下位バージョンでは当然指定するようなコーディングにはなっていない訳で、それが問題になることもありますし、本来正しくないコーディングが結果オーライで動いていたのに、厳密なチェックが入りエラーになるなどです。
もちろん単純に新バージョンにバグがあるケースもあります。
特にOfficeでは2003以前と2007以降では全く別のソフトと考えても良いくらいです。
(とは言え基本的には互換性が維持されていますので、相当特殊な事をやっていなければ経験的には大丈夫です)
実際に私の経験の範囲では2007に上げた時動かなくなったと言うのは殆どありません。
追検証することに否やはないのですが、どうも実際のコードをそのまま投稿されているようです。
もっと単純な形でエラーが発生する条件とコードを示してください。
今のコードですと、前提とするシートの状態を推定して作るのも相当面倒ですし、多分くろねこくんが使っている問題のシートとはかけ離れたものになると思います。
具体的にはチェックボックスをシートにいくつ置き(例えば二つ)、Linkedセルはどこで、どういう保護をかけている等です。
(単に書式削除が問題ならカラーがどうのこうのなんてIFは要らないはずです)
場合によってはそうやって発生条件を絞りこんでゆくと、原因をご自分で突き止められる可能性もかなり高いと思いますよ。
どう質問されている症状は保護状態のシートでの話のようですが、私に言わせれば保護状態でコードを実行するのは愚の骨頂で、コードの頭で保護を解除して、終了時に保護をかけなおせば良いだけの話です。