出産前後の痔にはご注意!

VBA の困窮者です。

Excel で UserForm を2個作り、あれこれやっているうちにブックが読取専用になってしまいました。
仕方がないのでブック名のあとに 1 を書き加えその新しい名前で保存しましたが、それもまた開いて閉じると読取専用になってしまい際限がありません。
この呪縛から抜け出る方法を教えて下さい。よろしくお願いします。

閉じるときに次のようなエラーが出ます。この内容はいつも同じではありません。

EXCEL のページ違反です。
モジュール : <不明>、アドレス : 0000:004d183a
Registers:
EAX=004c4ad4 CS=015f EIP=004d183a EFLGS=00010286
EBX=00000001 SS=0167 ESP=0062f0f4 EBP=0062f108
ECX=004bdd14 DS=0167 ESI=00f1d2e0 FS=188f
EDX=00000000 ES=0167 EDI=00000000 GS=0000
Bytes at CS:EIP:
00 a0 14 dd 4b 00 5c b3 49 00 00 01 00 00 00 01
Stack dump:

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。



同じような内容の質問が出ていますが、こちらに回答しておきます。

おそらく、二つの UserForm の入れだしのコードが、メモリにおきっぱなしで、あれこれ動かしていたのだろうと思います。もしかしたら、「Unload Me 」は使っていないかもしれません。

それで、この直し方ですが、おそらく設定のファイルが壊れてしまっています。

Excel 終了時にフリーズする場合の対処方法
http://support.microsoft.com/default.aspx?scid=k …

ここら辺りを参考にしながら、xlb ファイル、PERSONAL.XLS ファイルを二つとも削除するか、一時、退避させてください。概ね、どちらかが壊れているのだと思います。二つとも、新しいものにしてください。メニューはリセットされてしまいます。

次に、Windows\Temp のフォルダを空けて、中身に何かあれば全て削除してください。

それと共に、Excelのデフォルトのフォルダにファイルのエラーの残骸などがあれば、それらを削除してください。

もちろん、原因になったファイル自体は、エクスポートすれば、そのソースは使えるはずですが、元のファイル自体は使えないと思って間違いありません。名前を変更するのはダメです。新規ブックから作成します。

なお、#1 さんの設定は、Excel 97 だと思われます。
    • good
    • 0
この回答へのお礼

Wendy02さん ありがとうございました。
xlbファイルの名前変更で、Excel が普通に動くようになりました。

狭い密室に閉じ込められて、だんだん酸素がなくなっていくような気分でしたが、助かりました。
ユーザーフォームはもうあきらめて、シート上のボタンだけにしようかと思いかけていましたが、深呼吸して再度挑戦いたします。
またよろしくお願いします。

なお、厚かましいお願いでまことに恐縮ですが、QA群2995 QNo.3097713 Excel「 仮装読取専用ブックの削除」 に「済み」ぐらいの内容で結構ですから回答を出してくださいませんでしょうか。
早く締め切ってしまいたいのですが、自分からは手がつけられないので、よろしくお願いします。

お礼日時:2007/06/20 12:02

操作を行う前に、[マクロウィルスから保護する] チェック ボックスがオンに



なっていることを確認してください。この設定は [ツール] メニュー の [オ

プション] を選択したときに表示される [オプション] ダイアログボックスの

[全般] タブで行います。



1. ファイルを開きます。

2. マクロを含んでいることを知らせるダイアログ ボックスで <マクロを無

効にする> ボタンを押します。

3. [ツール] メニューの [マクロ] から [Visual Basic Editor] を選択しま

す。

4. [ツール] メニューの [<ファイル名> のプロパティ] を選択します。

5. [プロジェクト名] ボックスのファイル名から ".xls" を削除します。

6. を押してダイアログ ボックスを閉じます。

7. [ファイル] メニューの [<ファイル名> の保存] を選択します。



備考

~~~~

プロジェクト名として設定できる名前には以下の規則があります。



・文字、数字、アンダースコア (_) を含めて最大 40 文字以内

・名前の先頭は文字

・アンダースコア (_) 以外の記号は使用できない

この回答への補足

simaregomaさん ありがとうございます。
初めに書き忘れましたが、Excel は2000 (9.0 SP-3) で[マクロウィルスから保護する] チェック ボックスがありません。

参りました。

補足日時:2007/06/18 19:38
    • good
    • 0
この回答へのお礼

simaregomaさん ありがとうございました。
xlbファイルの名前変更で、Excel が普通に動くようになり助かりました。

お礼日時:2007/06/20 12:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング