• 締切済み

エクセルのデータを書き換えられないようにする方法

こんにちは。  エクセルで予約表を作って、ネットワークに入れています。縦には時間、横には曜日(時間割みたいな感じです)となっています。10名の先生が、予約を取った時間のセルに自分の名前を入れていくようにしています。   しかし、先生が間違って(おそらく)先に予約をとっているところに他の先生の名前を消して、自分の名前を入れてしまいます。  これをできないようにしたいのです。 思いついたのは、セルのロックですが、いちいちするのは面倒だし、実際には忙しくてできません。  よい方法があるでしょうか? *いったん入力が行われると、自動的にろっくがかかるようにする。 *入力が行われると、自動的にセルに網掛けがかかるようにする。(注意を促すだけですが。) 上記のことは可能でしょうか? 他によい方法があれば、どうか教えてください!

みんなの回答

  • tarame
  • ベストアンサー率33% (67/198)
回答No.9

>共有をかけずに、10人の先生が、各部屋でそのブックに予約を書き込んだり予約を見たりすることは可能なのでしょうか? 共有をかけないと、複数の人が同時に更新することはできませんね。 誰かが開いているブックは、他の人は「読み込み専用」でしか開けませんからね。 >ネットでアップする方法だと、この問題は解決できますでしょうか? 共有をかけているときに、他人の変更(更新)を確認できるのは、その人が保存したあとで、自分が保存したときです。 お話の内容からすると、10人が常時このブックを開いている状態のようですので、このようにしてみてはいかがでしょうか。 ・変更(入力)する前に、ブックを保存する。   (他の人の変更を確認するために) ・変更したらすぐに保存する。   (他の人に変更を知らせるために) ・「どちらを有効にするか」のメッセージが出た場合は、先の人を優先する。

  • tarame
  • ベストアンサー率33% (67/198)
回答No.8

#5で答えたものです。 ネットワークに入れているということですよね。 そのファイル(ブック)の共有をかけてますか? もし共有をかけているのであれば、 同時に開いている先生が複数いて、その何人かが同じセルに名前を入力したとすると、 後で保存した先生のデータが、直前に保存した先生のデータを変更してしまいます。 (そのときに「どちらのデータを有効にするか」確認してくるようですが) ですので、私が前に答えた方法では「注意を促す」ことも出来ません。 ということで、そのファイル(ブック)には、共有をかけないことをお勧めします。 そうすれば、「注意を促すだけ」の策も有効になるかと思いますよ。

momonagon
質問者

補足

なるほど~と思って読ませていただきました。 共有をかけずに、10人の先生が、各部屋でそのブックに予約を書き込んだり予約を見たりすることは可能なのでしょうか? ネットでアップする方法だと、この問題は解決できますでしょうか?トンチンカンなことを言っていたら恥ずかしいのですが・・・・

noname#49904
noname#49904
回答No.7

tihitです。(#6tihit2は別のPCから入れたものですが補足します。)  Open Office olg について説明します。  上のソフトはMS Office 互換でダウンロードフリーですが、表計算はExcelファイルを読み込めます。  その読み込んだものをPDFファイルとして保存できるので、提出する場合、書き換えられることが有りません。  ソフトのダウンロードは、↓ http://ja.openoffice.org/  Word Excel ほか PDF化できます。

参考URL:
http://ja.openoffice.org/
  • tihit2
  • ベストアンサー率17% (4/23)
回答No.6

 PDFファイルにすれば、安心です。  そのまま表示されますが、表示はプレビュー画面のようになります。  アクロバットなどは代表的なソフトですが、フリーソフトもあります。   オープンオフィスソフト(Open Office org) は無料で配布されています。

  • tarame
  • ベストアンサー率33% (67/198)
回答No.5

*入力が行われると、自動的にセルに網掛けがかかるようにする。(注意を促すだけですが。) であれば、 範囲を選択し、(ここでは、A1~C3としておきます)   「書式」→「条件付き書式」で   [数式が]▼ [=COUNTA(A1)>0 ] とし 下の「書式」のところで、網掛けなどの指定をして下さい。 以上の操作で、可能かと思われます。

noname#8027
noname#8027
回答No.4

こんなのはどうでしょう? 「ツール」-「マクロ」-「Visual Basic Editor」を開いて、 以下を登録する。 Private Sub Worksheet_Change(ByVal Target As Range) Cells(Target.Row, Target.Column).Interior.ColorIndex = 3 End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Interior.ColorIndex = 3 Then MsgBox "予約済みです": Range("A1").Select End Sub 入力すると→赤くなる 赤いセルを選択すると→メッセージを出して、A1に飛ぶ。 反応しないエリア(項目タイトルや、日付など)を設定する必要はありそうですが・・・。

momonagon
質問者

補足

ご回答いただきありがとうございます!! ご指導くださったようにやっては見たのですが、何も起こりません・・・・。 マクロはいくらか使えますが、Visual Basic は少々かじったくらいです。 よろしければ、また教えてください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>いったん入力が行われると、自動的にろっくがかかるようにする。 マクロなら可能だと思いますが、使いたくないなら次善の策ですが チェック用の列を作成する。(例えばA列) 入力後、禁止する行範囲を選択して 「データ」「入力規則」の「設定タブ」で 「入力値の種類」を「ユーザー設定」 「数式を」「=$A2<>1」とする。 上記をB2:Z2に設定すれば、A2に1を入力することでB2:Z2への入力時エラーメッセージが表示されます。 入力規則のない別のセルをコピーされたり、書式のクリアで無効になるのが欠点ですが... >入力が行われると、自動的にセルに網掛けがかかるようにする。 「書式」「条件付き書式」で 「セルの値が」「次の値に等しくない」「=""」 または 「数式が」「=LEN(A1)>0」 で書式変更(パターン)

momonagon
質問者

補足

>>入力が行われると、自動的にセルに網掛けがかかる >ようにする。 >「書式」「条件付き書式」で >「セルの値が」「次の値に等しくない」「=""」 という事ですが、先生は10人いますので、各色を使っていくと10色になります。  3つ以上の条件付書式は可能でしょうか?

  • Mystleaf
  • ベストアンサー率22% (149/669)
回答No.2

入力をカットするだけでよいのなら、 作成したエクセルを右クリック→プロパティで読み取り専用にチェックを入れれば、 更新され保存するときには別のエクセルを作ろうとします。 また網掛けについてはマクロorVBAを使用してもよろしければ可能です。 私が知っているところでは、そのくらいです。

momonagon
質問者

補足

アドバイスありがとうございます! ブックは常に開いていて、10人の先生が頻繁に見ています。予約が入れば、すぐに書き込むので、セルごとの書込み禁止をしたいのです。説明が分かりにくくてごめんなさい。

  • matrix4
  • ベストアンサー率16% (118/704)
回答No.1

ひとつずついれて、ロックというのはVBAでやらざるえないでしょうが、(分かりません) 10行という設定なら、始めに10行を選択して マクロでシートの保護と、セルの網掛けとを記録する また、解除の記録もする。 そして、ボタンを設置し”ロック”と”解除”を作る。

関連するQ&A

専門家に質問してみよう