Excel VBA質問箱 IV

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

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


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

【51608】セル編集に対してのプロテクト hirop 07/9/27(木) 11:02 質問[未読]
【51610】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 11:28 発言[未読]
【51612】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 11:46 質問[未読]
【51613】Re:セル編集に対してのプロテクト Kiyoko 07/9/27(木) 11:58 回答[未読]
【51614】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 12:01 発言[未読]
【51620】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 13:08 質問[未読]
【51621】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 13:11 発言[未読]
【51622】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 13:50 質問[未読]
【51623】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 13:58 発言[未読]
【51624】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 14:13 質問[未読]
【51625】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 14:15 発言[未読]
【51626】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 14:20 質問[未読]
【51627】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 14:31 発言[未読]
【51628】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 14:34 発言[未読]
【51629】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 14:45 質問[未読]
【51630】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 14:52 質問[未読]
【51631】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 14:55 発言[未読]
【51632】Re:セル編集に対してのプロテクト hirop 07/9/27(木) 14:58 質問[未読]
【51633】Re:セル編集に対してのプロテクト ぱっせんじゃー 07/9/27(木) 15:04 発言[未読]
【51737】Re:セル編集に対してのプロテクト n 07/10/3(水) 0:30 発言[未読]

【51608】セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 11:02 -

引用なし
パスワード
   共有ファイルの誤消去等を防止するため、セル((例)A34)の一切の編集をできないようにしたいのですが、良いマクロ、もしくはエクセルの機能がありましたら、教示願います。
また、もしマクロを使用する場合、他人にマクロ(コード)の閲覧、編集ができないようにする方法も併せて教示願います。

【51610】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 11:28 -

引用なし
パスワード
   セルを保護する方法です。
共有ブックで出来るかは分かりませんが、
セルをロックし、シートの保護、でいかがでしょう?

マクロを他人に見られないようにする方法です。
http://www.asahi-net.or.jp/~ef2o-inue/secur/sub07_03.html

↑最初の二文字を全角にしてあります。

【51612】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 11:46 -

引用なし
パスワード
   回答ありがとうございました。
しかし、「シートの保護」を行うとシート全体の保護となってしまい、全部のセルの編集が不可能となってしまいます。
ある特定のセル((例)A34)のみの一切の編集ができないようにするためにどうすればよいのでしょうか?

【51613】Re:セル編集に対してのプロテクト
回答  Kiyoko  - 07/9/27(木) 11:58 -

引用なし
パスワード
   ▼hirop さん:
こんにちは
>回答ありがとうございました。
>しかし、「シートの保護」を行うとシート全体の保護となってしまい、全部のセルの編集が不可能となってしまいます。
>ある特定のセル((例)A34)のみの一切の編集ができないようにするためにどうすればよいのでしょうか?
こんなことでしょうか
シートを一旦Unprotectし、指定部分のみLocked=False(ロックをはずし)
その後プロテクト。これでA1からB10は編集可能と思いますが・・・
Sub test2()
Dim R As Range, MyR As Range
ActiveSheet.Unprotect
Set MyR = Range("A1", "B10")
  MyR.Locked = False
ActiveSheet.Protect
Set MyR = Nothing
End Sub

【51614】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 12:01 -

引用なし
パスワード
   >ある特定のセル((例)A34)のみの一切の編集ができないようにするためにどうすればよいのでしょうか?

それ以外のセルのロックを外した上でシートを保護しましたか?
シートを保護する際、
「このシートのすべてのユーザーに許可する操作」もよく見ましょう。

【51620】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 13:08 -

引用なし
パスワード
   ありがとうございました。
できました。
一切の編集ができなくなる方法を教示いただきましたが、オートフィルタのみ有効にするにはどうしたらいいのでしょうか?

【51621】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 13:11 -

引用なし
パスワード
   マクロでオートフィルタを行う、ではだめでしょうか?

シートの保護解除、シートの保護はマクロで行うことが
出来ます。

シートの保護解除
処理
シートの保護

【51622】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 13:50 -

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

こんな感じのマクロで行いました。
Sub Macro1()
  ActiveSheet.Unprotect
  Selection.AutoFilter Field:=9, Criteria1:="aa"
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

しかし、このマクロではオートフィルタを使用するたびにマクロを実行しなければなりません。
保護されているせるで、常時オートフィルタ機能のみができるようにするためにはどのようにしたら良いのでしょうか?

【51623】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 13:58 -

引用なし
パスワード
   私はオートフィルタを使わないので分かりませんが、

>「このシートのすべてのユーザーに許可する操作」もよく見ましょう。

の中には該当するものはなかったのでしょうか?

【51624】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 14:13 -

引用なし
パスワード
   >>「このシートのすべてのユーザーに許可する操作」もよく見ましょう。
どこを見ればよいのでしょうか?

【51625】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 14:15 -

引用なし
パスワード
   >どこを見ればよいのでしょうか?

シートの保護のウィンドウにありませんか?

【51626】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 14:20 -

引用なし
パスワード
   見当たらないのですが・・・。

【51627】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 14:31 -

引用なし
パスワード
   エクセルのバージョンが古い、ということは無いですよね?
バージョンは何ですか?

【51628】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 14:34 -

引用なし
パスワード
   http://kokoro.kir.jp/excel/hogo1.html

上から二つ目のようなウィンドウは出ないですか?
※URLの最初の二文字を全角にしてあります。

【51629】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 14:45 -

引用なし
パスワード
   バージョンは2000です。
XPではありません。

【51630】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 14:52 -

引用なし
パスワード
   EXCEL2003の場合はセルにプロテクトをかけてもオートフィルタ機能が使用できました。
しかし、共有ファイルであるため、2000の人もいれば、2003の人もいます。
2000を使用している人でもオートフィルタ機能を使用できるようにするためにはどのようにしたらいいのでしょうか?

【51631】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 14:55 -

引用なし
パスワード
   2000ではダメだったのでしょうか?
当方2000はもってないので分かりませんが、
2000のPCではダメだったのでしょうか?

【51632】Re:セル編集に対してのプロテクト
質問  hirop  - 07/9/27(木) 14:58 -

引用なし
パスワード
   2000ではだめでした。

【51633】Re:セル編集に対してのプロテクト
発言  ぱっせんじゃー  - 07/9/27(木) 15:04 -

引用なし
パスワード
   2000のエクセルで、シートの保護をする際に
設定が出来るのでしたら、保護していても
オートフィルタが出来るか、確認していって
はいかがでしょう?

これで出来なかったら、他の方法を検討す
ることになると思います。
※複数のバージョンで使いたい、ということは、
最初に明示すべきです。

条件の後出し、はここのようなQ&Aサイトでは
嫌われる行為の一つです。

【51737】Re:セル編集に対してのプロテクト
発言  n  - 07/10/3(水) 0:30 -

引用なし
パスワード
   こんにちは。
//www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_010_03.html
//www2.moug.net/bbs/exvba/20070813000013.htm
この辺りを参考にして、ThisWorkbookモジュールに

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_Open()
  With Application.CommandBars("Cell").Controls.Add( _
           Type:=msoControlButton, Before:=1, Temporary:=True)
    .Caption = "オートフィルタ"
    .OnAction = "ThisWorkbook.filter"
  End With
  With Worksheets("Sheet1")
    .Unprotect
    .EnableAutoFilter = True
    .Protect UserInterfaceOnly:=True
  End With
End Sub

Private Sub filter()
  On Error Resume Next
  Selection.AutoFilter
End Sub

などとすればできそうです。
オートフィルタは右クリックメニューから実行します。

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