Excelシートの保護時にデータの並び替えを行いたいと考えています。
使用する予定のExcelは2003と2007です。
セルのデータを変更させたくないのでシートの保護を行うことになり、
その上でオートフィルタでの絞り込みや並び替えは使用したいという状況です。
Excelシートを保護する時のオプションで、次の4つにチェックをしました。
・ロックされたセル範囲の選択
・ロックされていないセル範囲の選択
・並べ替え
・オートフィルタの使用
オートフィルタの絞り込み表示は使用できましたが、並び替え時に保護の警告が表示されます。
シート上のセル全てのロックを解除して上記を行うと並び替えは出来るのですが、
データが変更できてしまうので意味がありません。
VBAでは制御可能という場合、マクロを無効にして起動された場合には
並び替えやオートフィルタが使用できなくなるので、出来るだけ避けたいと思います。
(できればVBAでの制御を行わずに、)
実現可能なのでしょうか?
教えて下さい。お願い致します。
No.1ベストアンサー
- 回答日時:
オートフィルタは使えるので問題は並べ替えだけです。
しかし保護されたセル範囲を並べ替える事はできません。なので実現は不可能です。
#シート保護時に「並べ替え」のチェックを入れなければ,そもそも並べ替えはできません
#チェックを入れても,保護されたセルを並べ替える事はできません
#保護されたシートで,保護されていないセル範囲だけが並べ替えできます。
ヤリタイ事の全てを実現したければ,マクロを併用し,有効にしないで開いたのでは何も出来ないよう仕込んでおくぐらいと思います。
作成例:
ThisWorkbookのシートに
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Sheet1").Protect Password:=123
ThisWorkbook.Save
End Sub
Private Sub Workbook_Open()
Worksheets("Sheet1").Unprotect Password:=123
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub
などのように仕込み,さらにパスワードを見られないようにVBAProjectのプロパティで表示を保護しておくなどで。
#マクロからの操作は有効でシートを保護し,並べ替えだけマクロで行わせるような手もありますが,フツーの操作では出来ないという事なのでかえって使いにくいと考えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Excel(エクセル) [並べ替えの前に]、[選択範囲を拡張する]のが煩わしいッ! 1 2023/02/28 22:40
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
シート保護してても並び替えをしたい。
Excel(エクセル)
-
シート保護を掛けたまま並べ替えやオートフィルタをするには
Excel(エクセル)
-
シートを保護した時でも並べ替えをするには?〔Excel〕
Excel(エクセル)
-
-
4
エクセルの列を範囲選択しての並べ替えを禁止(制限)したい
Excel(エクセル)
-
5
オートフィルタの使用にチェックを入れても使えない
その他(Microsoft Office)
-
6
シートの保護のあとセルの列、幅を動かせるようにしたい
Excel(エクセル)
-
7
Excelのテーブル上のセルの保護はどうすればいい?
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
エクセルの保護で、列の表示や非表示が加納にするには
Excel(エクセル)
-
10
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
13
DATE型変数を初期化する方法
Visual Basic(VBA)
-
14
エクセルのセル内の余白の設定って出来るのでしょうか?
Excel(エクセル)
-
15
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
16
エクセルのチェックボックスを保護対象から外すには
Windows Vista・XP
-
17
シートを保護しても入力規則を使えるようにしたい
Excel(エクセル)
-
18
Excel 条件によって入力禁止にする
Excel(エクセル)
-
19
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで1月0日と表示される!!
-
Excelの「0」だけ非表示、小数...
-
エクセルで条件に一致したセル...
-
日付が未入力の際はゼロか、空...
-
Rangeメソッドは失敗しました。...
-
VBAで変数に関数式の結果をセッ...
-
エクセルで、加筆修正したセル...
-
(Excel)あるセルに文字を入力...
-
エクセルのルビがついたセルを...
-
Excelシートの保護時にデータの...
-
[EXCELマクロ] シートタブに自...
-
複数シートの同じセル内容を1シ...
-
Excelでスクロールすると文字が...
-
Excelにて、カタカナだけのセル...
-
excelでハイパーリンクになって...
-
エクセルの文字
-
現在時刻をリアルタイムで更新...
-
エクセル A8と同じシート名のG...
-
Excelであるファイルのセルにあ...
-
式の説明をお願いします。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで条件に一致したセル...
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
(Excel)あるセルに文字を入力...
-
エクセルで1月0日と表示される!!
-
別シートのセルを絶対参照にする
-
複数シートの同じセル内容を1シ...
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
シート参照で変数を使いたい(EX...
-
ExcelでTODAY関数を更新させな...
-
エクセル ハイパーリンクで画像...
-
エクセルで、加筆修正したセル...
-
エクセルのセルに、マウスで選...
-
EXCEL関数でシート名が変わる可...
-
VBAで、セル(Range)のオブジ...
-
Excelのファイル容量が減らない...
-
excelでハイパーリンクになって...
おすすめ情報