[[20150902170456]] 『指定したセルに新たに入力できない様にしたい』(エクセル初心者) ページの最後に飛ぶ

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

 

『指定したセルに新たに入力できない様にしたい』(エクセル初心者)

既に入力したセルの内容を間違って変更したくない場合、そのセルにアクセスできない様にする方法は有りますか。

< 使用 Excel:Excel2007、使用 OS:Windows8 >


 参考HPです。

http://www.atmarkit.co.jp/ait/articles/0709/28/news153.html
(カリーニン) 2015/09/02(水) 17:15


 最初に「間違えて入力」した場合は、修正できませんけど、いいのですか?

(β) 2015/09/02(水) 17:22


すみませんそこまで考えていませんでしたが最初のリスト作成は間違いが無いことを確認出来ていると
して教えて頂きたいです。
またこの規制の解除方法もお願いいたします。
(エクセル初心者) 2015/09/02(水) 17:50

 >またこの規制の解除方法もお願いいたします。

 解除方法もリンク先に記載されております。
(カリーニン) 2015/09/02(水) 18:05

 シートの保護、保護の解除についてはカリーニンさん紹介のページをよく読んで理解しておいてください。
 以下は、ブックを開いたときに指定シート(コードでは、仮に "Sheet1" にしてあります) で何かしら値あるいは式が入力されているセルは変更禁止。
 そのほかのセルはブックを閉じるまで自由に変更可能にしています。

 ただしシートには保護がかかっています。通常の操作は、だいたいできるようにしているつもりですが

 ・こんな操作ができなくなった
 ・この操作は禁止したいのにできてしまう

 というところがあれば指摘願います。

 1.Alt/F11 でVBE画面を呼び出す。
 2.左上のプロジェクトエクスプローラのThisWOrkbook をダブルクリック
 3.でてきたところに以下のコードを貼り付け。シート名は実際のものに打ち直してください。
 4.画面右上のXボタンでシートに戻る
 5.いったん保存して、再度開いてみてください。

 Private Sub Workbook_Open()
    With Sheets("Sheet1")   '★
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
            AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
            :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
            AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
            AllowUsingPivotTables:=True, UserInterfaceOnly:=True
        .Cells.Locked = False
        On Error Resume Next
        .UsedRange.SpecialCells(xlCellTypeConstants, 23).Locked = True
        .UsedRange.SpecialCells(xlCellTypeFormulas, 23).Locked = True
        On Error GoTo 0
    End With

 End Sub

(β) 2015/09/02(水) 19:20


ありがとうございました。
シートの部分保護、解除理解し実践できました。
(エクセル初心者) 2015/09/03(木) 16:33

特定セル編集禁止の為シート保護を設定しましたが、当然編集可能なセルも書式変更が不可になりました。
ロックを解除しているセル(編集可能なセル)は書式変更可能になりませんか?
(エクセル初心者) 2015/09/04(金) 15:37

(β)さん。すみません。ご指導の内容を行わないまま、次のアホな質問をしてしまいました。
ご指導の通り保護はかかっていますがその他の部分は変更可能でした。素晴らしいです。
ご指導に感謝です。エクセル万歳、オモシロです。
ありがとうございました。
(エクセル初心者) 2015/09/04(金) 16:45

(β)さん 9月2日19:20に指導いただいた方法で実験したところ
出来ませんでした。もちろんかけたいところの保護はかかりますが保護以外のセルの書式設定が変更出来ませんでした。手順2.ThisWorkbookをダブルクリックした時点で

Private Sub Workbook_Open()

    With Sheets("Sheet1")   '★
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
            AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
            :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
            AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
            AllowUsingPivotTables:=True, UserInterfaceOnly:=True
        .Cells.Locked = False
        On Error Resume Next
        .UsedRange.SpecialCells(xlCellTypeConstants, 23).Locked = True
        .UsedRange.SpecialCells(xlCellTypeFormulas, 23).Locked = True
        On Error GoTo 0
    End With

 End Sub

が出てきます。sheet名は実際の作業中の名前に変更しました。
このコードはどこに貼り付けたらよろしいのでしょうか?
何か手続きが違っているのでしょうか。

(エクセル初心者2号) 2015/09/07(月) 10:53


 >このコードはどこに貼り付けたらよろしいのでしょうか? 

 参考HPです。

http://www.sanynet.ne.jp/~awa/excelvba/kouza/chapt_01/sec08_01.html
(カリーニン) 2015/09/09(水) 19:43


 ちゃんとβさんが書かれてますね。

 > 1.Alt/F11 でVBE画面を呼び出す。
 > 2.左上のプロジェクトエクスプローラのThisWOrkbook をダブルクリック
 > 3.でてきたところに以下のコードを貼り付け。シート名は実際のものに打ち直してください。
 > 4.画面右上のXボタンでシートに戻る
 > 5.いったん保存して、再度開いてみてください。
(カリーニン) 2015/09/09(水) 19:45

 ThisWorkbookをダブルクリックしてこのモジュールがでてくるわけですから貼り付け先は間違っていませんね。
 カリーニンさんからも念押しいただいていますが、一度保存して、開いていただいてますか?

 それとも、開き直しても、保護以外のセルの書式設定ができないということですか?
 そのセルに、値を入力するのはできますか?

 いずれにしても、こちらでは、非保護セルなら、入力であれ、書式設定であれ、問題なくできますけど?

(β) 2015/09/09(水) 20:20


 今までの経過報告を読ませていただくと、ちゃんと閉じて、再度開いておられるようですね?
 不思議です。

 これがいいかどうかは、わからないのですが、アップしたコードで処理されたシートでは、
 逆に【保護セルの書式設定も可能】なんですが?

 エクセルバージョンの違いでしょうかねぇ?

 xl2007は持っていないので確認できませんが、win8.1+xl2013、win7+xl2010 で確認済みです。

(β) 2015/09/10(木) 07:34


コメント返信:

[ 一覧(最新更新順) ]


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