お世話になります。早速ですが、、、
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上で実行すると発生します。何が悪いのでしょうか?
No.1
- 回答日時:
Excel97 は 2000 と、
2003 は 2002 と同じ動作のようです。
ワークシートの保護オプションの変更に伴う仕様変更でしょうか。
2000以前では、手動での変更は不可にもかかわらず
VBA で書式変更できてしまうので、2002 で修正したのかも?
[XL2002] ワークシートの保護オプションの概要
http://support.microsoft.com/kb/289269/ja
なるほどそうですか。
レスの上部2行と保護オプションに関しては気になった部分でした。
会社のPCは2000 と2002なので諦めるしかないかも知れないですね?
ありがとうございます。リンクもこれから読ませて頂きます。
No.2ベストアンサー
- 回答日時:
こんばんは。
>エクセル2000上で作成したもので、2000上で実行するとエラーは出ませんが
そうでしょうか?こちらのExcel2000でも、エラーは出ます。
基本的にシート保護を掛けた状態で、書式を変更しようとすれば、実行時エラーは出るはずです。
プロテクトしたシートで、マクロを有効とする場合は、
Sub Protect_MacroAvailable()
'プロテクトを掛け、UserInterFaceOnly プロパティをTrue にしてあげないと出来ません。
ActiveSheet.Protect, UserInterFaceOnly:=True
End Sub
せっかく回答頂いたのにお礼が遅くなり申し訳ありません。
これは会社での話でありまして、今後2002以上に移行されると思いますが
今のところ2000で実行する上ではエラーは発しません。
以後、紹介頂いた方法で対処してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 【VBA】ボタンに登録したマクロがエラーになる 4 2022/07/25 17:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルエラー13型が一致しま...
-
実行時エラー 438になった時の...
-
ExcelVBA Range クラスの Page...
-
エクセルVBAで以下のようなコー...
-
プロシージャ名の取得
-
なぜこんな初歩的なVBAのIf文で...
-
エラー1004 PDFの保存ができま...
-
VBAがブレークモードになっ...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
VB6 エラー:438 (InputBoxに値)
-
Invalid procedure call or arg...
-
Application.ActiveInspectorで...
-
vbaのvlookup関数エラー原因を...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBAのコードがエラーになっ...
-
VBA 別シートのセルから、文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報