• 締切済み

エクセル保護でのグループ化、フィルタの使用方法

エクセル2007でセルの保護の状態でグループ化の表示切替とオートフィルタを使用する方法を教えてください。 現在ファイル内で特定の列に保護をかけています。 保護により無効となってしまったグループかの表示・非表示はVBAで 切替られるようにしました。 Private Sub Workbook_Open() With Worksheets("シート名") .EnableOutlining = True .Protect UserInterfaceOnly:=True End With End Sub 更に、オートフィルタを使用したいのですが、 保護を行う時に「オートフィルタの使用」にチェックを入れているのに 選択が不可能な状態です。 すべての条件を満たすにはどのような方法があるのでしょうか。 お分かりになる方がいられましたらご教授ください。

みんなの回答

回答No.1

関連するQ&A

  • エクセルVBA 保護シート&フィルタ実行 全シート

    VBA超初心者です。 たくさんのシートのあるエクセルで、 シート保護後もフィルタを使用できるようにVBAを設定したいと思ってます。 (現在エクセル2000を使用してます) ネットで調べてVBAを設定してみました。 しかし下記のようにするとコンパイルエラーになってしまうのですが、 正しい方法を教えていただけると助かります。 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 = "AutoFilter"     .OnAction = "ThisWorkbook.filter"   End With   With Worksheets.Select     .Unprotect     .EnableAutoFilter = True     .Protect UserInterfaceOnly:=True   End With End Sub Private Sub filter()   On Error Resume Next   Selection.AutoFilter End Sub

  • エクセル VBA

    先日初めてVBAに触れた者です 知恵をお貸しください エクセルのバージョンは2000です ブックのデータを誰も編集できないようにして、 尚且つオートフィルタだけを有効にする方法を探しています。 この条件だけならば、 Sub Auto_Open() Worksheets("Sheet1").EnableAutoFilter = True Worksheets("Sheet1").Protect UserInterfaceOnly:=True End Sub で、可能になったのですが あとこのシートに「パスワード保護」をかけることは 出来るでしょうか? 私には「出来る」か「出来ないか」すらわからないです。 お手数をおかけして申し訳ないですが どうぞお助けくださいませ。 よろしくお願いします

  • [EXCEL]保護されたシートでオートフィルタ利用可能にしたいのですが

    いかのURLにも同じような質問があり、 http://oshiete1.goo.ne.jp/qa2550996.html それにしたがって、シート保護でもオートフィルタ可能にするための VBA記述を行いましたが、オートフィルタが利用可能になりません。 シートの保護はできているようですし、エラーもでません。 記述したコードは以下になります。 Sub Workbook_Open()   Dim Sh As Worksheet   For Each Sh In Worksheets    Sh.Unprotect Password:="fukuri"    Sh.EnableAutoFilter = True    Sh.Protect Password:="fukuri", userInterfaceOnly:=True   Next Sh End Sub なにか、不足している記述があるのでしょうか? もし、わかる方がいらっしゃったら是非アドバイスいただけないでしょうか? 私自身、VBAを利用するのがはじめてで勉強不足にもかかわらず 大変恐縮ですが、ご回答いただければ幸いです。 宜しくお願いいたします。

  • シート保護とグループ化機能を両立するマクロで

    エクセル2010です。 任意のセルにロックをかけて、シートを保護しています。 さらに、グループ化の開閉(左の欄で+と-で展開したり畳んだりする)機能を使いたのですが、シートの保護がかかっていると通常ではこれができません。 そこで調べたところ、以下のマクロでそれが両立できることがわかりました。 Sub 保護したままグループ開閉() With Worksheets("Sheet1") .EnableOutlining = True .Protect UserInterfaceOnly:=True End With End Sub しかし、シート保護のメニューで「ロックされていないセルの範囲選択」と「セルの書式設定」にチェックを入れて許可にしているのですが、このマクロをかけると、「セルの書式設定」のチェックが外れてしまい、文字の色等が変えられなくなってしまいます。 これを防止するには、上記のコードをどのように変えれば良いでしょうか? アドバイスよろしくお願いいたします。

  • EXCEL VBAで条件付き保護について

    VBA初心者です、よろしくお願いします。 列Eでオートフィルタを使用可能と設定したいので、下記のようにしましたが、「シートの保護を設定」のステップを終えた後オートフィルタも使用できません。 「AllowFiltering:=True」でEXCELのオートフィルタの使用にチェックを入れた状態になると考えていましたが、思うようになりませんでした。 「シートの保護を設定」のステップがおかしいと思うのですが、わかりません。 教えてください。 ------------------------------------------------------ Private Sub Auto_Open() '一旦、シート保護を解除 ActiveSheet.Unprotect Password:="AAA" 列Hのデータを重複データを無視で列Oに抽出 セルH2は「入力規則-リスト」~列Oのデータを使用   ・   ・   ・ ' シート保護を設定 ActiveSheet.Protect Password:="AAA", UserInterfaceOnly:=True, AllowFiltering:=True End Sub

  • エクセルのマクロをブック全体に

    マクロに関してはずぶの素人です、Q&Aのサイトで目的にかなったものを見つけ 設定したら結果は満足するものでした。 「シートを保護した状態で、グループ化の表示・非表示を切り替えるマクロ」 Sub Auto_Open() With Worksheets("Sheet1") .EnableOutlining = True .Protect UserInterfaceOnly:=True End With End Sub これをブック全体に反映できるマクロを教えて下さい。 ブック内のシート数は多いもので10シートほど、シート名は和英混合です。 ブックの数は40程有り全てのシートにマクロを設定するのは途方もなく 時間が掛かりそうで困っています。 当方のエクセルはExcel2007SP3です、宜しくお願いします。

  • エクセル シート保護後コメントの挿入ができない

    win2000 officeXpです 以前こちらで、ファイルを開く時に 全シートの保護を行うマクロを教えたいただいたのですが、セルへのコメントの挿入ができなくなりました。 できる方法があればご教授ねがいます。 以下はその際教えていただいたマクロです。 Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In Worksheets sh.EnableOutlining = True sh.Protect UserInterfaceOnly:=True Next sh End Sub

  • Excelのオートフィルタ→シート保護→共有について

    Excel2000のブックを所内で共有で使用するのに 下記サイトのマクロを入力しました。 http://kiyopon.sakura.ne.jp/situmon/index.htm Private Sub Workbook_Open() Dim Sh As Worksheet For Each Sh In Worksheets Sh.EnableAutoFilter = True Sh.Protect UserInterfaceOnly:=True Next Sh End Sub 入力後ブックの共有を行い、一度閉じて 再度ファイルを開くと 実行時エラー'1004':'Protect'メソッドは失敗しました:Worksheet'オブジェクト とメッセージが出ます。 共有にすることにより、このメッセージが出ると思われますが、 恥ずかしながらマクロの事は全く分かりません。 ご教授よろしくお願い致します。

  • エクセルVBAでブック保護のUserInterfaceOnly:=Trueはダメ?

    エクセル2000です。シート保護ならUserInterfaceOnly:=TrueでVBAでの変更は可能ですが、Book保護にもそういう機能はないのでしょうか?試しに、 Sub TEST1() ActiveWorkbook.Protect Password:="merlion" , UserInterfaceOnly:=True End Sub とやってみましたが、エラーになってしまいました。(泣)

  • 作業グループを設定した複数シートの保護につきまして

    タイトルの設定をエクセル2007で行っております。 ひとつのシートを設定した場合はできたのですが、 複数シートを選択しての設定ができません。 シートは下記の3つあります。 ・あ行 ・か行 ・集計 3つのシートの「あ行」と「か行」の2つのシートに、 保護をかけた状態でも作業グループの「+」「-」がいじれる設定にしたいです。 WEBで調べてやったのが、下記のマクロです。 Private Sub Workbook_Open() Sheets(Array("あ行", "か行")).Select.EnableOutlining = True Sheets(Array("あ行", "か行")).Select.Protect Password:="****", DrawingObjects:=True, _ contents:=True, UserInterfaceonly:=True End Sub どうにもうまくできません。 ご存じの方お教えくださいますでしょうか。 どうぞ、宜しくお願いいたします。

専門家に質問してみよう