- ベストアンサー
Excel保護設定後のカーソル移動について
よろしくお願いします。(Excel2000使用です) 過去の質問で学んだのですが、 カーソルを保護ロックしたセルにいかないように、「コントロールツールボックス」-「プロパティ」から 「EnableSelection」を「1 - xlUnlockedCell」に設定しました。 その時はうまくいったのですが、保存してもう一度開くと、何故か元に戻ってしまいました。 これを、維持できる方法を教えて下さい。(単に私の操作が悪いだけかもしれませんが..) 要は、保護したセルにカーソルがいかないようにしたいのです。(入力された関数式等を上の方のウィンドウで見られたくないなどの理由があります) 別な方法として、カーソルがいっても関数式が非表示になる方法がありますか? 初心者です、上よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
シートが増えるんですよね?行ではなく。ならば以下で大丈夫だと思います 例) Public Sub Workbook_Open() On Error Resume Next Dim WSheet As Worksheet For Each WSheet In Worksheets WSheet.ScrollArea = "A1:D20" Next End Sub Worksheetsはブック内のシート全て含んだコレクションを示しています。それをFor Eachで前から順に参照している感じですね。一応、On Error Resume Next は忘れないでください
その他の回答 (5)
- R-Fuji
- ベストアンサー率40% (18/45)
ScrollAreaです。誤字、申し訳ない。 例) Public Sub Workbook_Open() Worksheets("Sheet1").ScrollArea = "A1:D20" End Sub
お礼
これです! 出来ました。ありがとうございます。 甘えついでにもう1つお願いを聞いてもらえるとありがたいです。 (補足にてご説明させていただきます) よろしくお願い致します。
補足
日々シート数が追加あるいは削除されてます。 シート名を指定しないで、常に現在あるすべてのシートに適用させるにはどのようにしたらよろしいのでしょうか? お手数をお掛けして申し訳ありませんが、何卒よろしくお願い致します。
- R-Fuji
- ベストアンサー率40% (18/45)
状況によりますが、 前述されているThisWorkbook内(又はSub Auto_Open)にシートのプロパティ、ScroolAreaを設定すると移動できないようになると思います。 これも同様に再展開するとリセットされる傾向があるため、ThisWorkbook内(又はSub Auto_Open)に書きましょう。 因みに、プロパティウィンドウを開いてから(Windowオブジェクト>プロパティ同)、見出しタブをクリックすることでもシートのプロパティは参照できます。
- nishi6
- ベストアンサー率67% (869/1280)
Bookまたはシートを所定の状態にして保護します。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、 表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。プロジェクトエクスプローラのThisWorkbookをダブルクリック。出てきたコードウインドウに下記マクロをコピーして貼り付けます。 ここまで済んだら、Bookを保存します。 再度開くと、希望の状態になっているはずですが・・・・・・ Bookを開いた時、EnableSelectionを再設定しているだけです。 ここから ↓ Private Sub Workbook_Open() Worksheets("Sheet1").EnableSelection = xlUnlockedCells End Sub
お礼
これです! 出来ました。ありがとうございます。
補足
日々シート数が追加あるいは削除されてます。 シート名を指定しないで、常に現在あるすべてのシートに適用させるにはどのようにしたらよろしいのでしょうか? お手数をお掛けして申し訳ありませんが、何卒よろしくお願い致します。
- hana-hana3
- ベストアンサー率31% (4940/15541)
>確かに、TabキーやEnterキーでは移動できませんが、マウスや矢印キーだと保護されたセルに移動してしまいます。 VBAでセルにカーソルが止まらないようにできますが、マウスでクリックしている間は関数式が表示されてしまいます。 関数式を見せたくないのであれば、#1の方の言うように非表示のセルに関数を入れて、その値を参照表示するような形にしないと無理でしょう。
お礼
ありがとうございます。 でも、そうすると関数式のあるセルと参照のセルが必要になるわけですよね? 今使っているそのファイルは、結構データが多いので、できれば避けたいと思っている訳です。 (それしか方法が無いようであれば仕方ないですが)
- arukamun
- ベストアンサー率35% (842/2394)
カーソルが移動して良いセルで [書式]→[セル]→[保護]タブで □ロック のチェックを外す。 設定が終わったら、[ツール]→[シートの保護]で保護すれば、ロックを外したセルだけしか移動できなくなりますが・・・。 また、関数が入った行とか列を非表示([書式]→[行]または[列]→[表示しない])にすれば、取りあえずカーソル移動出来ないように出来ますが、それではダメですか?
お礼
ありがとうございます。 確かに、TabキーやEnterキーでは移動できませんが、マウスや矢印キーだと保護されたセルに移動してしまいます。 (必然的にそのセルの内容が確認できてしまいます) それと、非表示にしてしまうと、関数式で求められた答えすら見えなくなってしまうので、ダメなのです。 保護されたセルの答えは見たいのですが、カーソルを移動した際に上の窓に見える関数式を見られたくないのですが.. それにはやはりそこにカーソルが移動できないようにするのが一番良い方法かと思う次第です。
お礼
出来ました。ありがとうございます。 感謝感謝です。