- ベストアンサー
シートを保護した状態で2つのシートでオートフィルタを使う方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub Workbook_Open() With Me.Worksheets("A") .EnableAutoFilter = True .Protect Password:="PSW", UserInterFaceOnly:=True End With With Me.Worksheets("B") .EnableAutoFilter = True .Protect Password:="PSW", UserInterFaceOnly:=True End With End Sub
その他の回答 (2)
- end-u
- ベストアンサー率79% (496/625)
Excel2000では、マクロを使わないと設定できません。 一例です。 'ThisWorkbookModuleにコピーペースト必要。 '------------------------------------------------- Option Explicit Private Sub Workbook_Open() Dim ws As Worksheet 'セル右クリックメニューに"aFilter"追加 With Application.CommandBars("Cell") _ .Controls.Add(Type:=msoControlButton, _ Before:=1, _ Temporary:=True) .Caption = "AutoFilter" .OnAction = Me.CodeName & ".aFilter" End With '[EnableAutoFilter]プロパティと _ Protect引数[UserInterfaceOnly]を設定 _ 各シートごとに必要 For Each ws In ThisWorkbook.Worksheets With ws '設定するシート名で条件分岐 If .Name = "A" Or .Name = "B" Then .Unprotect .EnableAutoFilter = True .Protect UserInterfaceOnly:=True End If End With Next End Sub '------------------------------------------------- Private Sub aFilter() On Error Resume Next Selection.AutoFilter On Error GoTo 0 End Sub '------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next 'Bookを閉じる時、追加したControlを削除 Application.CommandBars("Cell").Controls("AutoFilter").Delete On Error GoTo 0 End Sub '------------------------------------------------- BookOpenと同時に目的のシートをオートフィルタを許可しつつ保護します。 それと同時に、右クリックメニューにオリジナルの[AutoFilter]メニューを追加します。 (ワークシートメニューバーの既定の[オートフィルタ]メニューはシート保護でグレーアウトになり使えません)
お礼
ありがとうございます。 VBA初心者の私には難し過ぎますね。 過去のQ&Aを調べていたら簡単なVBAがあり実行できました。しかし1つのシートしか適用されません。 これを2つのシートに適用するにはどうすれば良いのですか? Private Sub Workbook_Open() With Me.Worksheets("Sheet1") 'Sheet1 に設定する場合 .EnableAutoFilter = True .Protect Password:="PSW", UserInterFaceOnly:=True 'パスワードを、「PSW」にしました。 End With End Sub
- Sinogi
- ベストアンサー率27% (72/260)
当方Excel2002ですが オートフィルタ後シートを保護すれば 「シートの保護」ウィンドウが表示され、「オートフィルタの使用」がチェックできます
お礼
早速試してみましたがExcel2000ではシートを保護すればオートフィルタは使用できませんでした。
関連するQ&A
- オートフィルタを変更しフィルタ付け
Excel2000使用。 今あるシートに縦が3段目(行カラムが3から始まる)から横にA列からH列までの表があり、 その内6つの列A、B、C、D、E、F列にオートフィルタでフィルタをつけています。 このうちB,Dのフィルタを削除したいのですが、うまくいきません。 とびとびでかけることは可能ですか?(A,C,E列のみフィルタかけ) そのための操作を教えてください。
- ベストアンサー
- オフィス系ソフト
- Excel2003でシート保護(オートフィルタ使用にはチェック)するとオートフィルタが使えない
Excel2003を使用しています。 シートの保護でオートフィルタの使用にチェックを入れて保護をかけた後、データ - フィルタ - オートフィルタ が灰色に表示され、使用出来ません。 フィルタ設定 → シート保護だとオートフィルタを使用できます。 Excelの試用でオートフィルタの使用にチェックを入れて保護をかけても、保護後にはオートフィルタの設定は出来ないのでしょうか?
- 締切済み
- オフィス系ソフト
- シート保護でオートフィルタ機能が使用したい
EXCEL2000とEXCEL2002以上の環境下で シート保護をしてオートフィルタ機能が使用したいです。 EXCEL2002以上のみのやり方はわかるのですが、EXCEL2000と共有させたい場合の設定方法が分りません。 自分なりにVBAもいじっているのですが上手くいきません。 教えてください。宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- オートフィルタの使用にチェックを入れても使えない
EXCEL2010を使用しています。「シートの保護」をかける時「オートフィルタの使用」にチェックを入れても、オートフィルタが使用できません。シートの保護を解除すると使用できます。 EXCELには「入力規則のリスト」や「VLOOKUP」「INDEX」「MATCH」関数などが入っていますが、シートの保護をかけていない状態では、オートフィルターは正しく抽出できています。 表の中には空白セルがありますが、シートの保護をかけていない時はオートフィルタは使用できています。シートの保護をかけたときには空白セルがあるとオートフィルタは使用できないのでしょうか? 関数が入っているセルに誤入力されたくないので、シートの保護をかけてその際に「オートフィルタの使用にチェック」を入れて有効にしようとするのですが、全く反応いたしません。 対処方法をどなたかご存じの方はぜひお聞かせ下さい。
- 締切済み
- その他MS Office製品
- エクセル97で、オートフィルタ…
エクセル97でオートフィルタをつかいたいのですが、 A B C D E 1 ○ ▽ ▲ 2 × ● ・ ・ ・ 3 ・ ・ ・ 4 ・ ・ ・ 5 ● × ・ ・ ・ 6 ・ ・ ・ AとBの列でオートフィルタをかけたいのですが、 行の123と345をひとまめてにして検索できるようにしたいんです… そのようなことは可能でしょうか?? またその他によい方法があればよろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
- EXCEL2000 オートフィルタで。。
お世話になります EXCEL2000 です。 やりたいことは、例えば A列に(もちろん縦に)A,B,C,D,E,F,Gとデータが並んでいたとして、その中で、B,C,Dのデータだけを抽出したい場合はどうしたらいいのでしょう?? オートフィルタでいいでしょうか? データ→フィルタ→オートフィルタで、▼をクリックし、 オプション画面がありますが、[or]だと、2つのデータしか抽出できないようになっていて・・・(涙 しかたがないので、白い入力欄に、,(カンマ)で区切って B,C,Dというふうに入れてみましたが うまくいきませんでした。。。 どうすればいいでしょう?
- ベストアンサー
- オフィス系ソフト
- エクセル オートフィルター
オートフィルターについて教えて下さい。 同じシート内で、独立した複数のオートフィルターを用いることは出来ますか。下に示すような場合にAとB列に独立してオートフィルターを設定して、果物を抽出して、CとD列には野菜だけを抽出する。みたいなイメージです。オートフィルターやマクロを用いないやり方で他のやり方でもできる場合は教えて下さい。 A B C D 1 りんご 果物 りんご 果物 2 キャベツ 野菜 キャベツ 野菜 3 イチゴ 果物 イチゴ 果物
- ベストアンサー
- オフィス系ソフト
- シート毎にオートフィルタを実行した後の一覧印刷の方法について教えてください
いつもお世話になっています。 御教授よろしくお願いします。 今同じ項目を持つ一覧表をシート分けして作成しています。 シート分けされたそれぞれの表毎にオートフィルタを設定しています。 それぞれのシートでオートフィルタを実行し、その実行後のソートされたデータを別シートで全シート分一覧表示して印刷したいのですが、その様なことは出来ますでしょうか? OFFICEは2003EXCELを使用しています。 SHEET1 ○○ A B C D 1 名前 年齢 住所 血液型 2 山田 25 東京 A 3 田中 26 。。。 。。。 4 ・・ ・・ ・・・ ... SHEET2 ×× A B C D 1 名前 年齢 住所 血液型 2 鈴木 29 東京 A 3 松本 24 。。。 。。。 4 ・・ ・・ ・・・ ... SHEET1・SHEET2でそれぞれオートフィルして並びかえを行った表をSHEET3に表示して印刷をおこないたい。 SHEET3 A B C D 1 ○○ 2 3 名前 年齢 住所 血液型 4 山田 25 東京 A 5 田中 26 。。。 。。。 6 ・・ ・・ ・・・ ... 7 8 ×× 9 10 名前 年齢 住所 血液型 11 鈴木 29 東京 A 12 松本 24 。。。 。。。 13 ・・ ・・ ・・・ ...
- ベストアンサー
- オフィス系ソフト
- EXCELのオートフィルターの保護の解除
EXCELのオートフィルターの保護の解除の仕方を教えてください。 一部は保護を解除して使用してますが、シートに保護をかけると、オートフィルターの機能が使えなくなります。 どうすればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel2003でシート保護(オートフィルタ使用にはチェック)するとマクロのオートフィルタでエラーになる
QNo.3901563で回答いただき、Excelの試用で保護後のオートフィルタは使えないのはわかりました。 そこで予めオートフィルタを設定し、シートに保護をかけました。 Excelの画面上ではオートフィルタは使用できます。 マクロよりオートフィルタの抽出条件を変更するコマンドを実行すると「保護されたシートに対して、このコマンドは実行できません」と表示されます。コマンドは新しいマクロの記録で操作を記録したものです。記録したときは特にエラーはでませんでした。 Selection.AutoFilter Field:=2, Criteria1:="AAA" マクロのコマンドでは保護のかかったシートのオートフィルタの抽出条件を変更することは出来ないのでしょうか。 マクロの前後にシート保護を解除するコマンドを入れようかとも思ったのですが、保護にパスワードがかかっており、本末転倒となるもので。
- ベストアンサー
- オフィス系ソフト
お礼
早速の情報をありがとうございました。 これで仕事がはかどります。