[[20200511113957]] 『変更できないように』(マヤ) ページの最後に飛ぶ

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

 

『変更できないように』(マヤ)

保護をかけています。
一部セル(I5,I18,K19)には保護外して入力できるようにしています。
そして条件付き書式を入れています。
条件付き書式を変更できないようにしたいのです。
よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


「ロックされたセル範囲の選択」のチェックを外してから保護をかけるのでは駄目でしょうか?
ロックされていないセルに対して何でもできてしまうのは、どうしようもないかと思いますよ。
(???) 2020/05/11(月) 12:00

???さん
ありがとうございます。
「範囲の編集を許可」でてきるのですが
範囲のロックを外しても
保存かけて閉じて開くと範囲もロックがかかってしまいます。

マクロでできないでしょうか
マクロは記録程度の知識です。

シートのパス「1234」
範囲のパス「1」
保護外して記録してみました。

Sub Macro1()
'
' Macro1 Macro
'

'

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("I5").Select
    ActiveCell.FormulaR1C1 = ""
    Range("I6").Select
End Sub
よろしくお願いいたします。

( マヤ) 2020/05/11(月) 13:21


シートを開いたら自動的に範囲のロックを外すことはできないでしょうか。
宜しくお願い致します。
(マヤ) 2020/05/11(月) 18:18

 >シートを開いたら自動的に範囲のロックを外すことはできないでしょうか。 
 シートモジュールに Activate というイベントがあります。
 Private Sub Worksheet_Activate()

 ちょっと回答し過ぎかもしれません。音信不通になったらごめんなさい。。。m(__)m
(SoulMan) 2020/05/11(月) 20:55

SoulManさん
ありがとうございます。
マクロの知識は乏しいもので

Private Sub Worksheet_Activate()から
どのように
記述したらよいのでしょうか
宜しくお願い致します。
(マヤ) 2020/05/11(月) 21:18


 >Private Sub Worksheet_Activate()から
 どっき(^^; ぜんぜん見てない(^^;
 >シートを開いたら自動的に
 ここしかみてません。。。
 >マクロの知識は乏しいもので
 案外私も乏しい。。。

 Private Sub Worksheet_Activate()
With Me
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    .Range("I5").Select
    ActiveCell.FormulaR1C1 = ""
    .Range("I6").Select
End With
End Sub
(SoulMan) 2020/05/11(月) 21:26

 >シートを開いたら自動的に範囲のロックを外すことはできないでしょうか。 
 あっ、、全然違いますね???すみません。
 この部分を記録して、、
 Private Sub Worksheet_Activate()
 に書いてください。。
(SoulMan) 2020/05/11(月) 21:29

 ちょっと言葉足らず。。。
 Private Sub Worksheet_Activate()
でシートを開いたときにコードが走りますので
その際にやりたいことを記録してそこに貼り付けてください。。
です。
お分かりになりましたでしょうか???
(SoulMan) 2020/05/11(月) 21:42

SoulManさん
色々とありかどうございます。

マクロ記録をして実行してみたのですが
「範囲のロック解除」が出てしまいます。

Private Sub Worksheet_Activate()
With Me
Range("I5").Select

    ActiveCell.FormulaR1C1 = ""
    Range("I6").Select
End Sub

宜しくお願い致します。
( マヤ) 2020/05/12(火) 09:42


 どうもすみません。今一状況が理解出来ていませんが、、ロック???を外す?ですよね???
 >シートを開いたら自動的に範囲のロックを外すことはできないでしょうか。
 ↓こんなコードになりませんか??? 
    Selection.Locked = False
(SoulMan) 2020/05/12(火) 20:21

SoulManさん
ありかどうございます。

Selection.Locked = False
のコードをどのように付けくわえたらよいのでしょうか。
よろしくお願いいたします。
( マヤ) 2020/05/13(水) 08:21


 こんばんは!
最初からサラッと読んだのですが正直わかりません。。(^^;
最初の部分は既にコメントを頂いている皆さんの通りだと思うのと
私なんかがどうこう言えるもんじゃないと思うので途中からの
 >シートを開いたら自動的に範囲のロックを外すことはできないでしょうか。
これだけに反応してしまったのですね。。。すみません。
なので、、意味がピント外れだったらレスポンスも悪いしほんと申し訳ないんですけど。。。
シートモジュールに↓と貼り付けて思い通りじゃなかったら
「だめだこりゃ」と諦めてください。。。
ちなみに範囲がわかりやすい様に色を付けてみました。。。
でも、、どうも違うな。。。これは。。。。(妙な自信(^^;)

 Option Explicit
Private Sub Worksheet_Activate()
With Me
    .Unprotect
    .Range("I5,I18,K19").Locked = False
    .Range("I5,I18,K19").Interior.Color = vbRed
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End Sub
(SoulMan) 2020/05/13(水) 20:19

SoulManさん
毎回ありがとうございます。
感謝しております。
内容不足で把握しきれない部分があり恐縮しております。

もう一度整理します。
全てのセルに保護をかけています。
そして条件付き書式が入っています。
手入力部分に範囲の編集と許可を使って
手入力部分は二重ロックみたいな感じです。
手入力部分のセルI5にカーソルをあてると
範囲のロック解除のメッセージが出て
1を入力して範囲のロック解除します(一回で範囲がすべて解除になります)
その時
手入力はできますが
条件付き書式にはロックがかかっています。

やりたい事は
シートを開けた時に自動で
範囲のロック解除のメッセージがでなく
範囲のロック解除がされている。

宜しくお願いいたします。

( マヤ) 2020/05/14(木) 09:40


 あまりにもレスポンスが悪いので
仕事の合間にちょろっと書いてみました。
 これでなんとかなってくれるといいのですがぁ、、

 Option Explicit
Private Sub Worksheet_Activate()
Dim i As Long
With Me
   .Unprotect
   With .Protection.AllowEditRanges
       If .Count > 0 Then
           For i = .Count To 1 Step -1
           .Item(i).Delete
           Next
       End If
       .Add "A", Range("I5"), ""
   End With
   .Protect
End With
End Sub
(SouMan) 2020/05/14(木) 14:16

SouManさん
何度もお付き合いありがとうございます。
シートモジュールに貼り付けたのですが
「範囲のロック解除」のメッセージが出てしまいます。

またまた
宜しくお願い致します。
( マヤ) 2020/05/14(木) 16:11


 それってパスワードを設定するからじゃないんですか?
今一よくわからないのが、パスワードを設定しなければ出ないでしょ?
私のコードのまま貼り付けても出ますか?
(SouMan) 2020/05/14(木) 16:32

 こんばんは!
 >「範囲のロック解除」のメッセージが出てしまいます。
 最初は、なんのことかわかりませんでしたが、これはパスワードを尋ねられているのですね???
で、トピ主さんはいきなり入力したいと。。。
ご自身でパスワードを設定して入力する時はそれを聞かれるのが嫌だと取れますがどうでしょう???

 コードを書いていて思ったのは「ふん???」頭がこんががらって来ました(^^;
で、私だったらシリーズですけど、、条件付書式を触れたくない。変更されたくない。。
ですよね???
多分、、ゾンビの様に消しても変更しても復活する様にするんじゃないかと思います。。
OpenかChangeイベントかなにかで。。。

 でもまぁ、、見る人がみれば変更は出来るわけで。。どんなコードでも仕掛けでもです。。
私も最初のころ(もう。。20年くらい前)は保護とかパスワードとか掛けてました。
でも最近はほとんどというかぁ、、全く掛けません。。なので今回の機能も今日初めて知りました。
色んな機能があるのですね。。会社のExcelだけかと思ったらお家のExcelにもありました。。(^^;

 私は、私はですよ。。。そんな保護を掛けないといけない様な仕様は色んな意味で良くないと思っていて。。。
結局今のスタイルになっているんでしょうけど。。。。
触りたい人は触るし、、触って覚える、、こともあるでしょうし。。。
使いがってが悪いから触るのかもしれませんし。。。色々あるのですね。。。

 まぁ、、新規Bookに私のコードを貼り付けてもパスワードを聞かれるとしたら。。。うんんん、、どうしましょ(^^;
(SoulMan) 2020/05/14(木) 19:28

 >保存かけて閉じて開くと範囲もロックがかかってしまいます。
 再現できましたよ。マクロなんていらないよ。
 記述するその前に
 >手入力部分に範囲の編集と許可を使って
 設定した手順を抜かさず書いてみてださい。
(閲覧者) 2020/05/14(木) 23:33

SoulManさん
感謝の念がたえません。
今一よくわからないのが、パスワードを設定しなければ出ないでしょ? 別シートでテスト的に試してみました。
なんと
条件付き書式は保護がかかった状態で手入力ができました。
パス「1」を入れてしまったから、他の事が見えなくなっていました。
お手数をかけてすいません。
閲覧者さん
ありがとうございます。おっしゃる通りマクロはいらないですね。
勉強になりました。

一つ教えていただきたいのですが
H列には管理範囲(条件付き書式はなし)を作る予定なのですが
間違えて
H5(保護あり・条件付き書式はなし)をドラッグしてI5(手入力・条件付き書式はあり(保護してる))まで間違って行った場合。
I5の条件付き書式は消えてしまいます。

なにかよいお知恵はないでしょか。
宜しくお願いいたします。

追伸
バカな私に長々とお付き合い
誠にありがとうございました。

( マヤ) 2020/05/15(金) 09:36


 条件付き書式は記録してもらうとして
こんな感じでどうでしょうか?

 Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Target.Address <> "$I$5" Then Exit Sub 
Me.Unprotect
   With Target
       .FormatConditions.Delete
       .FormatConditions.Add Type:=xlExpression, Formula1:="=$I$5=1"
       With .FormatConditions(1).Interior
           .PatternColorIndex = xlAutomatic
           .Color = 255
           .TintAndShade = 0
       End With
   End With
Me.Protect
End Sub
(SouMan) 2020/05/15(金) 10:17

SouManさん
ありがとうございました。
範囲の編集と許可はパスをかけずに行いました。

思うように出来ましたが

H列には管理範囲(条件付き書式はなし)を作る予定なのですが
間違えて
H5(保護あり・条件付き書式はなし)をドラッグしてI5(手入力・条件付き書式はあり(保護してる))まで間違って行った場合。
I5の条件付き書式は消えてしまいます。

これれを解消する手だてはないものでしょうか
宜しくお願いいたします。
( マヤ) 2020/05/15(金) 10:49


 >間違って行った場合。 
「元に戻す」、「Ctrl+Z」ではだめですか。
(閲覧者) 2020/05/15(金) 14:18

閲覧者さん
ありがとうございます。
私だけが使うシートなら注意をはかりますが
私以外の方も使用するので間違いが起こる可能性があります。
事前に対応したいと思っております。

宜しくお願いいたします。

( マヤ) 2020/05/15(金) 14:50


 えっ〜っと、これは試してもらえましたか?
(SouMan) 2020/05/15(金) 10:17
(SouMan) 2020/05/15(金) 16:36

 >I5の条件付き書式は消えてしまいます。
 条件付き書式はセルやフォントに色を着けることは出来ても、
 セルにロックをかける機能はありません。
 上書きされるので当然ながら条件付き書式は削除されます。
 >私以外の方も使用するので間違いが起こる可能性があります。 
 >事前に対応したいと思っております。
 あとは自分で対応して下さい。
 私はここまでとします。

(閲覧者) 2020/05/15(金) 19:23


 いつからかlが抜けて SouMan になってました(^^;
 わかりますね

 簡単な条件付き書式にしてますから保護を掛けても編集出来るようにしておいて
 H5から右にコピーして I5に 1 を入力してみてください。
 条件付き書式は一旦消えますが、選択されたと同時に復活するでしょ?
 ゾンビの様に。。。簡単なサンプルですけど、、後は応用してみてください。。 
(SoulMan) 2020/05/15(金) 19:38

コメント返信:

[ 一覧(最新更新順) ]


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