Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12238 / 13644 ツリー ←次へ | 前へ→

【11564】範囲保護解除セルのあるシートの保護解除... megu 04/3/11(木) 15:37 質問
【11566】Re:範囲保護解除セルのあるシートの保護解... Jaka 04/3/11(木) 16:18 回答
【11569】Re:範囲保護解除セルのあるシートの保護解... megu 04/3/11(木) 16:47 質問
【11574】Re:範囲保護解除セルのあるシートの保護解... Jaka 04/3/11(木) 17:20 回答
【11576】Re:範囲保護解除セルのあるシートの保護解... megu 04/3/11(木) 17:29 質問
【11577】Re:範囲保護解除セルのあるシートの保護解... BOTTA 04/3/11(木) 17:34 回答
【11582】Re:範囲保護解除セルのあるシートの保護解... megu 04/3/11(木) 18:24 お礼

【11564】範囲保護解除セルのあるシートの保護解除...
質問  megu  - 04/3/11(木) 15:37 -

引用なし
パスワード
   ユーザーに入力させるセルにだけ保護解除(ツール>保護>範囲の編集を許可)が設定されているシートがあるのですが、CommandButtonを押すとその保護解除のかかっているセルにも保護をかけたいと思っています。

 Worksheets("入力シート").Protect Contents:=True

としても、保護解除の設定してあるセルはやはり保護されていませんでした。
なにか特殊なことをしないといけないのでしょうか。
シート全体を保護したいのですが、どなたかご教授お願いします。m(_ _)m

【11566】Re:範囲保護解除セルのあるシートの保護...
回答  Jaka  - 04/3/11(木) 16:18 -

引用なし
パスワード
   こんにちは。

多分、セルの書式設定で保護のロックも操作しているんだと思います。

【11569】Re:範囲保護解除セルのあるシートの保護...
質問  megu  - 04/3/11(木) 16:47 -

引用なし
パスワード
   Jakaさん、またまたありがとうございます。

> 多分、セルの書式設定で保護のロックも操作しているんだと思います。
ということですが、範囲の編集を許可しているセルの、ロックのチェックボックスをはずしてから操作しても、そのセルには保護をかけることができませんでした。
「範囲の編集を許可」の設定を無視して保護をかけたいのですが・・・。
何かやり方が違ってるのでしょうか・・・。

【11574】Re:範囲保護解除セルのあるシートの保護...
回答  Jaka  - 04/3/11(木) 17:20 -

引用なし
パスワード
   ロックのチェックボックスをチェックしたままシートの保護をかけると、そのセルは操作できません。
ロックのチェックボックスをチェックを外してシートの保護をかけても、そのセルは操作できます。

と、言う事になります。

【11576】Re:範囲保護解除セルのあるシートの保護...
質問  megu  - 04/3/11(木) 17:29 -

引用なし
パスワード
   ロックのチェックボックスをチェックしたままシートの保護をかけてるのですが、そのセルは「範囲の編集の許可」に登録しているんです。
そのため、保護(Protect)をしてもそのセルには保護が効かずに編集できてしまうんです。
「範囲の編集の許可」に登録されているセルは、マクロでも保護はできないと諦めるしかないのでしょうか。

【11577】Re:範囲保護解除セルのあるシートの保護...
回答  BOTTA  - 04/3/11(木) 17:34 -

引用なし
パスワード
   meguさん、Jakaさん、こんにちは。

「編集可能な範囲(AllowEditRanges)」を削除してしまってもいいのなら、

Sub aaa()
Dim i As Integer, j As Integer
  With ActiveSheet
    .Unprotect
    i = .Protection.AllowEditRanges.Count
    If i = 0 Then Exit Sub
  
    For j = i To 1 Step -1
      .Protection.AllowEditRanges(j).Delete
    Next j

    .Protect
  End With
End Sub

これはpasswordが設定されていない場合です。

【11582】Re:範囲保護解除セルのあるシートの保護...
お礼  megu  - 04/3/11(木) 18:24 -

引用なし
パスワード
   ▼BOTTA さん:
>「編集可能な範囲(AllowEditRanges)」を削除してしまってもいいのなら、
>Sub aaa()
>Dim i As Integer, j As Integer
>  With ActiveSheet
(略)
>  End With
>End Sub
↑まさにこれです〜♪
もう諦めようかと思ってました・・・。
非常に助かりました〜。

BOTTAさん、Jakaさん、ありがとうございました〜(^^;

12238 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free