[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『警告メッセージを非表示にする』(みさ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.