[[20081029131800]] 『警告メッセージを非表示にする』(みさT) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『警告メッセージを非表示にする』(みさT)

 いつもお世話になっております。
 今、ある表を作成しています。
 その表はシート1にマクロが登録されているボタンがあり、
 これを押すとそのシート1データを元にシート2に表を作成。
 数量を記入する部分だけ、ロックを解除しておいて表全体が作られた段階で
 シート全体に保護を掛ける  というマクロが組まれています。
 問題は、このロックが掛けられた場所に数量を入力しようとする度に
 毎回警告メッセージがでるので、これを非表示にしたいのです。
 DisplayAlertsを使用すれば良いのかと思って試したのですが、できません。
 何か良い方法をご存知でしたら、教えてください。
 説明がわかりづらくてすみません。わからなければ、すぐに補足いたします。
 なにとぞ宜しくお願いします。


 > 問題は、このロックが掛けられた場所に数量を入力しようとする度に
 毎回警告メッセージがでるので、これを非表示にしたいのです。

 そのセルを編集する必要があるのなら、ロックをはずせばよいのでは?
 (seiya)


 これは私以外の人が使う表で、わざと記入できないようにする為に
 ロックを掛けているのです。
 ですので、ロックを外す以外で方法はないかと考えています。
 宜しくお願いいたします。(みさT)


 シートモジュールへ

 Private Sub Worksheet_Activate()
 Me.Protect
 Me.EnableSelection = xlUnlockedCells
 End Sub
 (seiya)

 「他の人」が編集しても良い部分はロックがはずしてあり、
管理者だけが編集てもよいところはロックしてある、という話ですよね。
 
保護目的でロックしてあるのだから、そこに入力する為には
普通は保護解除ですよね。保護解除の手間を惜しむのなら、
管理者用のシートを用意しておいて、それを参照するようにするか、
同じブックで不都合であれば、管理者用のブックを用意し、それを
参照するか。
 
これらが他の人に編集される可能性も嫌うというのなら、それらにも
何らかの保護を施す必要があるので、保護解除などの手間はあまり
減らないようにも思えます。
 
例えば、入力規則の入力値を[ユーザー設定]とし、
[数式]を =(A1*1)=0 などとしておくと、A1が0か空白にしておかない限り
この入力規則を設定したセルは変更できなくなります。
 
(みやほりん)(-_∂)b

 seiyaさま、

 ありがとうございます。
 これは、保護を掛けたいシートのシートモジュールに書き込むってことですか?
 もし、そうなら、シート1でボタンを押すまでは、シート2は存在しないので
 シート2のシートモジュールもありません。
 となると、上記の教えていただいたコードが登録できないと思うのですが・・・

 すみません、宜しくお願い致します。

 みやほりんさま
 保護を掛けるまでのコードはもう既に作成しているので
 入力規則に変更するつもりはありません。
 また、問題は警告メッセージを非表示にしたいので
 入力規則にしても、同様にメッセージがでると思うのですが。

 保護を掛ける理由は、単にその特定のセルに入力させない為で
 そのセルを保護する・・ということではありません。

 用途はシート1(在庫状況表)⇒シート2(注文書)
 商品AのSサイズ : シート1で在庫"無"と表示されている ⇒ シート2では入力できない。
 入力可能な場合、間違えて注文がきてしまうのを避ける。

 よろしくお願い致します。


 >  数量を記入する部分だけ、ロックを解除しておいて表全体が作られた段階で
 シート全体に保護を掛ける  というマクロが組まれています。

 そのマクロに追加したらどうですか?
 Me を Activesheet とかに変更する必要がありますが
 (seiya)

 seiyaさま

 ちゃんと できました。
 ありがとうございました!

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.