- ベストアンサー
EXCELでシート名を変更できなくしたい。(VBAです)
こんにちは。 タイトルの通りなのですが、EXCELでセルの内容の変更はOKで シート名のみ変更できなくしたいのです。 もしくは変更されたら「シート名は変更できません」等のメッセージを出して、元のシート名に戻すと言うのでも結構です。 どのように、またどこに(それぞれのシートのオブジェクトのところ???)書けばいいのか教えて下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#2です。VBAでしたね。 #2の操作を「マクロの記録」で記録するとコードが出来ます。 これを参考にするといいでしょう。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルの色々な手作業の操作を行われたときに、VBAのプログラムとして知らせてくれる(捕らえられる)のは、イベントとして、エクセルVBAでは非常に限られたものです。変えた事を捉えられなければ、禁止しようがないわけですから、表裏一体です。操作を禁止したいために、たとえば行高を変えたときにとか色々要求はありえますが、きりがありません。APIを勉強すれば少し幅が広がると思いますが、アプリの1つの動作ごとに備えを造るのは難しいでしょう。
お礼
imogasiさん、どうもありがとうございます。 やはりそうなんですねー。 このケースに限らず「~をした時」と言う指定に頭を悩ませることがよくあるのですが、やはり制約があるんですね。 API・・・?!こらまたすごい代物??? でもVBAをやり始めたばかりの私にとっては、VBAを使いこなすこと自体まだまだなので 遠い将来、チャレンジすることがあれば頑張ってみたいと思います。 ありがとうございました。
- arare2005
- ベストアンサー率31% (63/199)
>「ブックは保護されています。変更できません。」というメッセージをオリジナルにすることができたら・・・無理ですよ・・・ね。 バルーンの機能を使うか、MsgBox関数で出来ます。 EXCEL の標準メッセージも出る様なら、止めてからでないと2回でるかな? 止め方は、忘れちゃいました(^^; ヘルプでお探し下さい m(_ _)m
お礼
どうもありがとうございます。 止め方を探してみましたが、見つけることができませんでした。 もし止め方がわかってもメッセージを出すタイミング(どうなった時にメッセージを出すか)の指定が難しそうですね。 今のメッセージのままで行くか、他の方法を取るか検討してみます。
こんにちは。 ブックの保護でシート構成にチェックを入れて保護すれば変更できなくなります。 どうでしょうか。
- dcontact
- ベストアンサー率19% (11/57)
こんにちは。 私はVBAぜんぜん詳しくないのですが、 http://www.vbalab.net/ VBA質問箱 こちらの住民の方々にはかなり詳しく教えて頂いたことがございます。 もしかしたら、そっちの方が早く解決するかもしれませんね。
- 参考URL:
- http://www.vbalab.net/
お礼
dcontactさん、こんにちは。 私もVBA質問箱、利用させてもらったことがあります。 こちらの方もチャレンジしてみます。ありがとうございました。
補足
M-SOFTさん、どうもありがとうございました。 うまい具合にできました。 欲を言えば、シート名等を変更しようとした時に出てくる「ブックは保護されています。変更できません。」というメッセージをオリジナルにすることができたら・・・無理ですよ・・・ね。