• ベストアンサー

エクセル、シートの保護について

関数が入っているセルに保護を掛けました。 B10からには「氏名」を入力します。(セルの保護は掛かっていません) C10からには「金額」を入力します。(セルの保護は掛かっていません) そして、B10:C600で「並べ替え」をしたいのですが、シートに保護が掛かっているのでできません。 このような状態で並べ替えは無理なのでしょうか。 もし、VBAででも出来るのでしたら、教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.1

VBAでするとすれば、 1.シート保護解除 2.並べ替え 3.シート保護 という手順になるでしょう。

noname#153814
質問者

お礼

まさにその通りでした。 VBAで「並べ替え」を設定しておきながら、トンマな質問をしてしまいました。 ありがとうございました。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 ご質問の、「並べ替え」というのは奇妙だなって思います。 それは、シートをプロテクトしておいて、「並べ替え」はしても、昇順・降順で、通常は一回キリのはずです。並べ替えたら、それ以上はしませんね。 「オートフィルタ」の間違いではありませんか? 「オートフィルタ」の場合は、Excel2000 でも、保護の時のオートフィルタ可動のオプションはありますから、抽出は可能です。もし、「オートフィルタ」でしたら、補足をお付けください。そうでないなら、すでに解答はありますから、無視して構いません。

noname#153814
質問者

お礼

ありがとうございます。 実はこういうのを作ったのですよ。 http://oshiete1.goo.ne.jp/qa2926009.html 祝儀の額はそれぞれですから、後になって高額が入ってくる可能性があります。その金額を降順に並べ替えて印刷するのです。 神輿は13時に出て、20時に収めます。その間祝儀はランダムに入ってきますが、21時にはベニヤ板で張り出したいのです。終盤は時間との勝負です。 A4紙に5人分並べます。ですから、たとえば1万円の人が5人そろえば、そのページは印刷できるのです。後でまとめて印刷するのでは時間が掛かります。ですから、並べ替えは随時行いたいのです。 スキーバスに40人乗った時点で、バスは出発します。後の人は後続のバスに乗ります。そのような感覚です。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

エクセル2000の場合でも、仮にシート保護のパスワードが merlion だったら、 ActiveSheet.Protect Password:="merlion", UserInterfaceonly:=True のコードでVBAでの、並べ替えを含めた各種のシートへの操作が可能になります。 一例です。 Sub Macro1() ActiveSheet.Protect Password:="merlion", UserInterfaceonly:=True Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin End Sub

noname#153814
質問者

お礼

いやぁ私には難しすぎます。 今回は、No1の方の回答を採用させていただきます。 ありがとうございました。

  • otagundan
  • ベストアンサー率60% (6/10)
回答No.2

こんにちは ご質問の内容からするとExcel2000以前のバージョンをご使用かと思われます。 2002以降では、シートの保護を設定するときに「ユーザに許可する動作」として「並べ替え」や「オートフィルタ」の使用が可能となります。 ご参考までに。。。

noname#153814
質問者

お礼

ありがとうございました。 「範囲の編集を許可する」で出来るのですね。勉強になりました。覚えておきます。 ちなみに2003を使っております。

関連するQ&A

専門家に質問してみよう