Excel VBA質問箱 IV

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

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


3935 / 13646 ツリー ←次へ | 前へ→

【59378】シートの保護について ムラ 08/12/9(火) 10:11 質問[未読]
【59380】Re:シートの保護について 鼠後輩 08/12/9(火) 11:27 発言[未読]
【59382】Re:シートの保護について ムラ 08/12/9(火) 11:46 質問[未読]
【59383】Re:シートの保護について ponpon 08/12/9(火) 12:27 発言[未読]
【59385】Re:シートの保護について ムラ 08/12/9(火) 13:26 質問[未読]
【59387】Re:シートの保護について トト 08/12/9(火) 14:34 発言[未読]
【59389】Re:シートの保護について ムラ 08/12/9(火) 15:17 お礼[未読]
【59388】Re:シートの保護について ponpon 08/12/9(火) 14:46 発言[未読]

【59378】シートの保護について
質問  ムラ  - 08/12/9(火) 10:11 -

引用なし
パスワード
   質問させて頂きます。

Excel2000でのシートの保護についてなんですが、

シートの保護を特定のセル範囲で解除する方法がいろいろ調べてみたのですが、

わかりません。

そのような方法がExcel2000で可能かどうかもわかりません。

どなたか御教授頂けたら幸いです。

【59380】Re:シートの保護について
発言  鼠後輩  - 08/12/9(火) 11:27 -

引用なし
パスワード
   ▼ムラ さん:
もう少し具体的に書くと良いでしょう。

セルの書式設定でロックを外しておくと、シートを保護したときでも
編集できることはご存知ですよね?

それらで出来ないことなのでしょうか?

【59382】Re:シートの保護について
質問  ムラ  - 08/12/9(火) 11:46 -

引用なし
パスワード
   説明が足りなくて申し訳ありません。

下のようなコードを書きました↓
下のコードのどこが間違っているかわからないです。

まずシート全体を保護しておき、
ブックを開いたときにPasswdが"k"のときは3つのワークシート全体の保護を解除します。それはうまく行きました。
そしてPasswdが"k"以外のものが入った時はセル範囲P1〜O65535までの範囲の保護のみを解除したいのです。
Excel2000でどのようにすれば実現できるか御教授頂きたいです。

Private Sub Workbook_Open()
  Dim kami As String
  Dim densi As String
  Dim setubi As String
  kami = "a"
  densi = "b"
  setubi = "c"
  Passwd = InputBox("パスワードを入力してください。", "ログイン")
  If Passwd = "k" Then
    Worksheets(kami).Unprotect Password = "k"
    Worksheets(densi).Unprotect Password = "k"
    Worksheets(setubi).Unprotect Password = "k"
  Else
    Worksheets(kami).Activate
    Range("P1:O65535").Unprotect Password = "k"
    Worksheets(densi).Activate
    Range("P1:O65535").Unprotect Password = "k"
    Worksheets(setubi).Activate
    Range("P1:O65535").Unprotect Password = "k"
    
    Worksheets(kami).Activate
    Range("A1").Select
  End If

【59383】Re:シートの保護について
発言  ponpon  - 08/12/9(火) 12:27 -

引用なし
パスワード
   シートの保護をしたまま、ロックの解除はできないので
パスワードが"K"出ない場合も
シートの保護を解除し、必要なセルのロックをはずし、
また、シートを保護するということになると思います。
っていうか、初めから必要なセルのロックをはずしていたらいいだけかな?
これなら、既出ですね?

【59385】Re:シートの保護について
質問  ムラ  - 08/12/9(火) 13:26 -

引用なし
パスワード
   申し訳ありません。

>っていうか、初めから必要なセルのロックをはずしていたらいいだけかな?

とありますが、Excel2000でのVBAでセルのロックの外し方+付け方がわかりません。

本当に申し訳ありませんが、もう一度御教授頂けないでしょうか

【59387】Re:シートの保護について
発言  トト  - 08/12/9(火) 14:34 -

引用なし
パスワード
   ▼ムラ さん:
>とありますが、Excel2000でのVBAでセルのロックの外し方+付け方がわかりません。

マクロの自動記録を使うと良いです。

一応、こんなコードが記録されました。
  Columns("O:P").Select
  Selection.Locked = False
  Selection.FormulaHidden = False
(ロックを外した場合)

【59388】Re:シートの保護について
発言  ponpon  - 08/12/9(火) 14:46 -

引用なし
パスワード
   ▼ムラ さん:
>Excel2000でのVBAでセルのロックの外し方+付け方がわかりません。

一般操作では
セルを選択右クリック→セルの書式設定→保護タブ→ロックのチェックをはずす。

【59389】Re:シートの保護について
お礼  ムラ  - 08/12/9(火) 15:17 -

引用なし
パスワード
   基本的なことを理解できていませんでした。

セルの書式設定でセルをロックしてあと、

シートの保護をすればよかったのですね。

御教授頂いたのにセルの書式設定のことを理解できないでいました。

申し訳ありませんでした。

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