- ベストアンサー
VBAエラー
お世話になります。早速ですが、、、 Sub ●() Selection.FormulaR1C1 = "●" With Selection.Font .Name = "MS Pゴシック" .Size = 11 .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub これは、自動記録でのマクロですが、実行されるセル以外の保護と、 併せてシート保護を掛けた状態で実行すると下記エラーが出ます。 実行時エラー '1004': 『 Font クラスの Name プロパティを設定できません。』 エラーの終了ボタンを押すことで何もなかったかのように治まりますが、実行のたびにエラー出力します。 但し、この自動マクロは、エクセル2000上で作成したもので、2000上で実行するとエラーは出ませんが、 2002上で実行すると発生します。何が悪いのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >エクセル2000上で作成したもので、2000上で実行するとエラーは出ませんが そうでしょうか?こちらのExcel2000でも、エラーは出ます。 基本的にシート保護を掛けた状態で、書式を変更しようとすれば、実行時エラーは出るはずです。 プロテクトしたシートで、マクロを有効とする場合は、 Sub Protect_MacroAvailable() 'プロテクトを掛け、UserInterFaceOnly プロパティをTrue にしてあげないと出来ません。 ActiveSheet.Protect, UserInterFaceOnly:=True End Sub
その他の回答 (1)
- bonaron
- ベストアンサー率64% (482/745)
Excel97 は 2000 と、 2003 は 2002 と同じ動作のようです。 ワークシートの保護オプションの変更に伴う仕様変更でしょうか。 2000以前では、手動での変更は不可にもかかわらず VBA で書式変更できてしまうので、2002 で修正したのかも? [XL2002] ワークシートの保護オプションの概要 http://support.microsoft.com/kb/289269/ja
お礼
なるほどそうですか。 レスの上部2行と保護オプションに関しては気になった部分でした。 会社のPCは2000 と2002なので諦めるしかないかも知れないですね? ありがとうございます。リンクもこれから読ませて頂きます。
お礼
せっかく回答頂いたのにお礼が遅くなり申し訳ありません。 これは会社での話でありまして、今後2002以上に移行されると思いますが 今のところ2000で実行する上ではエラーは発しません。 以後、紹介頂いた方法で対処してみたいと思います。 ありがとうございました。