[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートの保護で・・・』(yusuke)
お世話になります。 “月集計”というシートに マクロのボタンを表示していて、 それをクリックすると、月集計のファイルの空白以外のセルが、“実績”のシートに 表示されます。 Sub 実績() ' ' 実績 Macro ' マクロ記録日 : 2010/4/25 ユーザー名 : toshiaki '
'
Rows("6:6").Select Selection.AutoFilter Selection.AutoFilter Field:=34, Criteria1:="<>" Range("A1:AJ1149").Select Selection.Copy Sheets("実績表").Select Range("A1").Select ActiveSheet.Paste End Sub Sub 元に戻す() ' ' 元に戻す Macro ' マクロ記録日 : 2010/4/25 ユーザー名 : toshiaki '
'
Cells.Select Application.CutCopyMode = False Selection.ClearContents Sheets("月集計").Select Selection.AutoFilter End Sub
月集計のシートの保護でパスワードを設定すると、ファイルを開いた時に、パスワードの入力画面が出てきます。 そこで、パスワードを入れてしまうと、保護の解除が出来てしまいますので、困ります。 何分にも、初心者の老人ですので、分かりやすい回答をお願いします。
< 使用 Excel:Excel2003、使用 OS:Windows7 >
なかなか回答が付きませんね。
>月集計のシートの保護でパスワードを設定すると、ファイルを開いた時に、パスワードの入力画面が出てきます。 この部分ですが、「シートの保護」で「ファイルを開いたとき」にパスワード入力画面は普通は出ませんよね? そこが再現出来ないので、回答出来ないのではないでしょうか。
ご確認いただきたいのが、ThisWorkBookにWorkBook_Openイベントなどございませんか? また、オートフィルタでしたら、シート保護で「このシートのすべてのユーザーに許可する操作」で 「オートフィルタの使用」にチェックが入ればシート保護がかかったままでも上記コードは実行でき ます。
(稲葉) 2014/07/30(水) 13:28
稲葉さん ありがとうございます。 「オートフィルタの使用」には、チェックが入っています。
WorkBook_Openは、こうなっています。 Option Explicit
Private Sub Workbook_Open() Dim wsNum For Each wsNum In Array(2) With Worksheets("月集計") .Unprotect ("1601") .Protect UserInterfaceOnly:=True End With Next ActiveWindow.ScrollRow = 1 End Sub (yusuke) 2014/07/30(水) 14:39
ブックを開くと月集計シートを1601というパスワードで解除し、 パスワードなしでユーザーインターフェースオンリーのシート保護をかける
誰かがシートの保護を解除する 誰かがマクロと違うパスワードでシートの保護を掛ける
次回開いたときに、パスワードが違うため、パスワード入力のダイヤログが出る
こういうことでいいのですかね?
でしたらWorkbookopenイベントのプロテクトのところで、解除できないようにパス ワードを設定することである程度回避できるのではないでしょうか? Private Sub Workbook_Open() With Worksheets("月集計") .Unprotect _ Password:="1601" .Protect _ Password:="1601" _ , UserInterfaceOnly:=True End With End Sub
(稲葉) 2014/07/30(水) 16:48
ありがとうございます。 思うようになりました。 あつかましいと思いますが、もうひとつ教えてください。 範囲の編集許可を設定していますが、そのセルを編集できないのですが… よろしくお願いします。 (yusuke) 2014/07/30(水) 18:47
>範囲の編集許可を設定 これは「範囲の編集を許可」という機能を使った場合の話ですか? http://www.wanichan.com/pc/excel/2003/09/382.html
それとも、「セルの書式設定」で「保護」タブの「ロック」を解除した時の話ですか? http://support.microsoft.com/kb/880349/ja
いずれにせよ、再現が出来ません。 1から10まで自分の判断で省略せず、再現出来る手順を教えてください。 (稲葉) 2014/07/31(木) 08:41
説明が旨くできなく申し訳ないです。 「範囲の編集を許可」は、設定できてます。 罫線 色付け テキストボックスは、保護の設定直後は使用できますが、セルの結合ができません。 再起動後は、罫線 色付け テキストボックスなどはグレーになってしまいます。 勿論、セルの結合はできません。 どこかで、保護の設定を間違ってるのでしょうか? よろしくお願いします。
(yusuke) 2014/07/31(木) 14:27
なお、2007以降かな? 現状のExcelでは、保護するかどうかのチェック項目が大幅に増えていて、
セルの書式設定を許可するかどうか選択できるようになっています。
(???) 2014/07/31(木) 14:47
???さん フォローありがとうございます。 2003は持っていないため検証できませんでした。
尚、2007で検証した結果を報告します。 セルの書式(色付け)は「シートの保護」機能の「このシートのすべてのユーザーに許可する 操作」で「セルの書式設定」にチェックを入れない限り出来ませんでした。 またセルの結合はシートが保護された状態では出来ません。
>保護の設定直後に使用出来る こちらについては再現出来ないので、分かりません。
2003で使えるか分かりませんが、 色とテキストボックスがShapeだとして、このようにしたらいかがですか? Private Sub Workbook_Open() With ActiveSheet .Unprotect _ Password:="1601" .Protect _ Password:="1601" _ , UserInterfaceOnly:=True _ , AllowFormattingCells:=True _ , DrawingObjects:=False _ , contents:=True '★←これをFalseにすることで結合もできますが、保護の意味が無くなりませんか? End With End Sub (稲葉) 2014/07/31(木) 14:57
稲葉さん ???さん ありがとうございます。
もう2003の時代じゃないようですね。 保護を解除して結合するのがいいですね。
いろいろと、お爺にありがとうございました。 また、よろしくお願いしますね。
本当にありがとう (yusuke) 2014/07/31(木) 15:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.