[[20031129225400]] 『数式の入っている全セルを一挙に保護する』(たこよ) ページの最後に飛ぶ
[
初めての方へ |
一覧(最新更新順) |
全文検索 |
過去ログ ]
『数式の入っている全セルを一挙に保護する』(たこよ)
ブック内の全セルの数式の入っているセルだけを一挙に保護する。
1つのブックに仕事の稼働表のシートが人数分だけ入っています。これらのシートの数式の入っているセルのみを一挙に保護する方法はあるでしょうか。
すべてのシートを選択して保護しようとしても、ブックの保護しかできません。
マクロを使わないと、むずかしいように思えます。(INA)
毎回そのような作業をされているのでしたら、
全てのシートの数式を保護状態にした雛型のブックを作成しておいて、
別名保存するのが簡単です。
(シート名変更は保護状態でも可。)
でも毎回レイアウトが変わる、数式の数が変わる、という場合はむりか。
(KAMIYA)
- 普通は、まずシート全面についてロックのチェックを外しておいて、それから、数式がはいる列々を選択し、ロックするにチェックをつける。その上でシートの保護をする、ですよね。それは、数式を壊されないようにするためです。
- 表 -- いわゆるリストに database という名前をつけておけば、表尻の数式列以外の列にデータを追加すると数式は自動的に直上行からコピーされますが、残念ながら、セルにロックするのチェックがついていて、しかもシートの保護が行われていると、この機能は働きません。はやい話がデータを追加するたびにシートの非保護保護を繰り返さなければならなくて、とても実用になるものではありません。
- ひとつの方法は、近い将来入力があるだろうという行数だけ、前もって数式を下方コピーしておくことですが、計算対象セルが空白時にエラーやゼロ表記をしないようにしておくなど、結構数式も面倒くさくなっていやなものです。計算スピードの低下もあります。
- セルのロック、アンロックだけの問題ではなく、シート保護、非保護をいちいちしなければならないところが問題なのです。入力を完全にマクロが管理するようなシートだと、問題はないのですが、その場合には今度はマクロをいじれないユーザーの方がちょっとシートの一部を変えようとしてもできなくなっている、などの問題が起きがちです。(ただ、単純に全シートについて書き込み保護/非保護を設定するだけのマクロの場合は、書くのも、操作も、別にやっかいなものではありません。)
- そこでぼくの提案は、まずシート全体をロック外すにして、次に表の一行目(見出し行の直下行)のみをロックしたらどうでしょうか。そして、シートの保護をします。こうしておいてももちろん2行目以降の数式は壊されるでしょうが、壊された時は、ロックされていてちゃんと残っている1行目の数式を下方コピーすればいつでも回復できます。まあ、このぐらいのところで手を打たないとしようがないと思いますけど……。
- ついでですが、一行目のみ数式で置いておいて、以降は自動的に値に直しておくソフトもあります。これらはロックの問題よりも、むしろ計算で表が重くなってしまうことを回避するため用ですが…。ただ、計算式が一行目にしかなく、あとは式じゃないところがご興味をひくかもしれません。このソフトでは、行を追加や修正したときに F12 (保護されたシートの場合は F11)を押すと一行目の数式をもってきて計算し、値になおして保持します。念のためアドレスは以下のとおりです。
http://www.vector.co.jp/soft/win95/business/se292836.html
- 数式の保護が問題ではなくて、数式を見られるのが嫌だという場合は、またちょっと違う問題となります。
- それからもうひとつ、ちょっと気になったのですが、ブックの保護は、シートの書き込み保護とはまた違って、シート構成や、シートの表示非表示を変えさせないとかという保護です。(通りすがりの者)
コメント返信:
[ 一覧(最新更新順)
]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.