こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

セルの書式の変更を特定のセル範囲だけに限定

エクセルでワークシートの保護をするときに、すべてのユーザーに許可する項目を選べるのは存じています。セルの書式もその一つです。
ただ、そうした場合、シート全体に対して書式設定の変更が可能になってしまします。
質問は、セルの書式の変更をある一定のセル範囲だけに限定できないかということです。ご教示ください。

投稿日時 - 2019-07-21 11:18:04

QNo.9637604

暇なときに回答ください

質問者が選んだベストアンサー

一定のセル範囲を選択したときだけ保護を解除しそれ以外を選択したら保護するするようにすればいかがでしょう。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Range("A1:C5"), Target) Is Nothing Then
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
ActiveSheet.Unprotect
End If
End Sub

投稿日時 - 2019-07-21 20:54:59

お礼

なーるほど!
何て柔軟な発想でしょ。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Range("A1:C5"), Target(Target.Count)) Is Nothing Then
Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
Me.Protect AllowFormattingCells:=True
End If
End Sub
でできました!

投稿日時 - 2019-07-21 23:07:06

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

VBAには、
書式を変更したときのイベントが無いので
書き換わったことを検知するのが困難ですし
複数セルを選択して変更することができるほか
背景色や文字フォントなど、書式の情報が多様なので
手強い要求と思われます。

私だったら、
入力用のシートと書式を変更されたくないシートとに分け
オペレータの方には入力用シートを使ってもらうことを考えます。

あるいは、
書式だけを格納したシート(書式保持原本シート)を用意し
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
といったイベントで
必要なセル範囲の書式をかぶせる制御をします。

投稿日時 - 2019-07-21 15:40:38

お礼

ありがとうございます。
そうなんです。書式を変更したときのイベントが無いので困りものです。
御教示の方法で考えてみます。

投稿日時 - 2019-07-21 18:39:09

ANo.2

入力されているデータ内容変更の適用範囲の限定は可能だけど、[セルの書式]の限定は駄目よダメダメのようです。(Excel 2013)

投稿日時 - 2019-07-21 12:06:42

お礼

ありがとうございました。
やはりダメヨダメダメ!ですか・・・。
セルの書式を変えられたことを検知してVBAでやろうかとも思いましたが難しそうですね。

投稿日時 - 2019-07-21 12:20:37

ANo.1

 
変更を許したいセルで書式設定の中の「保護」にある「ロック」を外す
変更を許可したいセル全てを同様に保護のロックを外す
次にシート全体を保護する

こうすれば保護のロックが外れてるセルは自由に変更できますが、それ以外は変更できなくなります
 

投稿日時 - 2019-07-21 11:46:12

お礼

早速ありがとうございます。
いえいえ、ロックを解除してないセルもワークシートの保護をするときに、すべてのユーザーに許可する項目でセルの書式を選ぶと書式変更ができてしまします。もちろんロック解除してないので入力はできませんが。

投稿日時 - 2019-07-21 12:15:00

あなたにオススメの質問