• 締切済み

既にデータ入力済のセルに上書きを防ぐ方法

シート1の3つのセル(時間・場所・仕事内容)を使って下記のデータを順次入力して別シートにスケジュール表を作っています。   10:00  東京  仕事1   10:30  東京  仕事2   11:00  東京  仕事3 そこで,ダブルブッキングをしないようにするため,シート1を入力する際,既に同時刻・同場所にデータが入力されているとき(シート2に既にスケジュールが入っているとき),シート1にデータを入力できないもしくは,警告を出す方法はないでしょうか。

みんなの回答

  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.2

2004921さんのされたいことを例えると次のようなことで宜しいでしょうか。 今、シート1に次のようなデータが入力済として ............ A    B     C 1  時間   場所   仕事内容 2 10:00  東京   仕事1 3 10:30  東京   仕事2 4 11:00  東京   仕事3 以下の例のように、(1)新たな行へのデータの追加あるいは(2)既に入力した行のデータの変更などの際、時間と場所の両データとも同じになる行ができることを避けたいというでしょうか。 (1)新たな行へのデータの追加の例 ............. A    B     C 1  時間   場所   仕事内容 2 10:00  東京   仕事1 3 10:30  東京   仕事2 4 11:00  東京   仕事3 5 10:00  東京   仕事N ← 2行目のデータとダブルブッキングのため警告を出す (2)既に入力した行のデータの変更の例 ............. A    B     C 1  時間   場所   仕事内容 2 10:00  東京   仕事1 3 10:30  東京   仕事2 4 10:00  東京   仕事3 ← 2行目のデータとダブルブッキングのため警告を出す もし、そのようなことでしたら入力直後に警告表示のメッセージを出すことは以下のVBAをシート1のコードにコピペすれば可能です。お試し下さい。 Private Sub Worksheet_Change(ByVal Target As Range) Dim tr As Integer Dim r As Integer Dim ret As Integer tr = Target.Row For r = 2 To Range("A65536").End(xlUp).Row If r <> tr And Cells(r, 1) = Cells(tr, 1) And Cells(r, 2) = Cells(tr, 2) Then ret = MsgBox(prompt:=r & "行に同時刻・同場所のデータがあります", Buttons:=vbOKOnly + vbExclamation, Title:="ダブルブッキング") End If Next r End Sub

2004921
質問者

お礼

お礼がすっかり遅くなり申し訳ありません。 プログラムは難しくて・・・。 でも,これから少しずつ勉強して行きたいと思います。 ありがとうございました。

回答No.1

シート全体を保護したい場合は、Aの左隣、1の上の小さなマスを右クリック(シート全体が反転表示される)→ 「セルの書式設定」を選択→ 「保護」タブをクリック→ 「ロック」にチェックを入れて「OK」をクリック→ メニューバーの「ツール」→ 「保護」をポイント→ 「シートの保護」をクリック→ 「シートとロックされたセルの内容を保護する」にチェック→ パスワードを入力(これはどちらでもいいです)→ 「このシートの全てのユーザーに許可する操作」の場所のチェック項目にチェックを入れます(特に指定が無い場合は「ロックされたセル範囲の選択」と「ロックされていないセル範囲の選択」にチェックが付いてます)→ OKをクリック セルに入力しようとすると警告が自動的に出てきますので保護した後にでも確認がてら入力してみて下さい シート全体ではなく範囲指定で保護をしたい場合は、保護したい範囲を選択しておき、メニューバーの「ツール」を選択して後は同じ方法で保護して下さい 解除方法はメニューバーの「ツール」→ 「保護」をポイント→ 「シートの保護の解除」をクリック→ パスワードを入力してる場合はパスワードを入力→ 「OK」で解除されます パスワードを入力していない場合はそのまま「OK」をクリックすると解除されます

関連するQ&A

  • Excelで、すでに入力されているセルに、上書きせずに入力を続けたい

    エクセルを最近使い始めているのですが、すでにデータが入力されているセルを、カーソルで指定してそのままキーボードで打ち込んでいったら、もともとセルに入力されていたデータは消えて新しく打ち込んだデータだけが入力されるじゃないですか? あれを、すでに入力されているデータの後ろに続けて入力したいのですが・・・。 わざわざダブルクリックした後にEndキーなどでセルのデータの一番最後に移動して入力を始めるのや、セルを選択してから上部にある編集バー(?)でデータを入力し始めるのが手間なんですよw どうにかやり方は無いものでしょうか? よろしくお願いします。

  • セル入力時、重複を防ぐ方法を教えて頂きたい

    Bookには一か月分のシート(9.1 9.2 ・・・)が存在します。表はB4:AY43の大きさで、各シート共通で行15行目と34行目に「10桁の受注番号」を入力すのですが、この「受注番号」は絶対重複してはいけないコードになっています。当該各セルに受注番号を入力した時に、同シート及び他のシートに同じ番号が存在しないか判別し、存在しなければそのまま入力し、重複している時はメッセージで警告し入力した番号を一旦クリアーするにはどのようにすればよいでしょうか。宜しくお願い致します。

  • エクセルであるセルに数字を入力すると他のセルのデーターから文字が入力

    例 sheet1   A 1 1→1を入力するとsheet2に入力されているデーター     から、該当する番号を判断して、東京とセル内に     表示する sheet2   A B 1 1 東京 2 2 千葉 3 3 埼玉 行はまだ下に続く こんな事をしたいのですが、ご教授お願いします

  • 入力済みのセルのデータのみを引っ張ってくる関数

    タイトルの件、質問致します。 下記の図をご覧ください。 B1、B2 セルには、数値データが入力されています。 ⇒例123,456 など そこで、B5セルに、B1セルかB2セルのどちらかデータが入力されている方のデータを 表示したいです。 B1、B2セルのどちらかに決まっていれば ●=B1 もしくは =B2 で充分です。 しかし、今回は、2つのセルの内、入力されている方のデータを引っ張ってきたいです。 B1とB2のセルは、どちらかが空白という事です。 また、もしできたら B1、B2とどちらにも、データが入力されていた場合、B1とB2のデータが同じならそれで 良いですが、違う場合は、違うと表示させるような関数もわかる方は教えて下さい。 この関数の場所は、B5ではなくてもOKです。 以上、ご存じの方いらっしゃいましたら、宜しくお願いします。

  • セルに入力したデータと同じデータを抜き出す

    エクセル2002を使っています。 画像の様なシートがあり、B2セルに入力した文字を、FXセルの上から10個抜き出します。 その10個のデータの関連セルのデータごと、、緑で色づけされた部分に表示させるには、どうしたらよいでしょうか? 詳しい方、よろしくお願いいたします。 ■ ■ 出来れば関数のみで実現したいです。

  • Excel セル入力データをシート名に反映させるには?

    大変お世話になります。 Excelにて、勤怠表を作成しているのですが、 休日表を作り、そのシート名を「2007年度休日」としています。 そして勤怠表のシート名「山田」(各個人名を入力)の各シートに リンクさせているのですが、シート「2007年度休日」の セルA2 部分に 2007 と入力しているデータを反映させて セルA2を書き換えるごとに シート名も一緒に変更出来ればと思うのですが 出来ますでしょうか? 分かる方、お教えください。宜しくお願い致します。

  • VBAを使ってセルを検索後別シートのデータを自動入力したいです。

    見ていただきありがとうございます。 エクセルの2000VBAを使って次のようなことを考えています。 シート2に以下のようなデータがあります。 2006/7/20 コード 数量  100  200   200  400 データの数は日によって違います。 シート1には以下の表があります。横軸にはコード縦軸には日付が入っており各対応するセルに数量が入っています。       100  200  300  400 ....←コード 2006/7/1  20  40  100  800 2006/7/2  50  60  200  500   .   .   . 2007/6/30  このような場合、シート2にコマンドボタンを設けて押したときシート2の日付とコード番号によりシート1の表の検索を行って対応するセルにシート2のデータを転記したいのです。シート2のデータは本日分のデータが入った時点でシート1への転記を行います。(1日一回です) また、シート1の表は2007/6/30(これ以降は必要ないので)までの日付がすでに入力されており明日以降のデータの入るセルは空白になっております。 よろしくお願いします。

  • エクセル 未入力セルのデータ表示について

    行・列を方眼のように細かくして表を作成しています。ところが、文字を入力すると、小さな1つのセル内しか表示されません。プレビューで確認しても同じです。 通常、未入力・未設定の隣のセルには他のセルのデータが表示できたと思うのですが、どうすればこのシートで表示・印刷が可能になるでしょうか。 仕上げにはセルの統合を使用するとしても、作成段階では、コピー等の制限があるので、 セル統合は使用したくありません。アドバイスをよろしくお願い致します。

  • エクセルで未入力セルを警告する方法

    A1~A20列にデータを入力していくのですが、セルに値のの入力が無い場合にそのセルの番地(?)を、メッセージBOXで「A**」にデータが入力されていません」というように、警告するようにしたいのですが、入力されていないセルの番地を取得するにはどうしたらよいでしょうか?

  • テキストボックスに入力したデータをsheet2のセルにデータ入力する方法

    textboxを5つ設置したユーザーフォームを作りました。ユーザーフォームにボタンをつくり、そのボタンをクリックするとtextboxに入力したデータがsheet2の複数のセルにデータ入力されるようにしたいのですが、やり方がわかりません。

専門家に質問してみよう