「これはヤバかったな」という遅刻エピソード

よろしくお願いします。(Excel2000使用です)

過去の質問で学んだのですが、
カーソルを保護ロックしたセルにいかないように、「コントロールツールボックス」-「プロパティ」から
「EnableSelection」を「1 - xlUnlockedCell」に設定しました。
その時はうまくいったのですが、保存してもう一度開くと、何故か元に戻ってしまいました。
これを、維持できる方法を教えて下さい。(単に私の操作が悪いだけかもしれませんが..)
要は、保護したセルにカーソルがいかないようにしたいのです。(入力された関数式等を上の方のウィンドウで見られたくないなどの理由があります)

別な方法として、カーソルがいっても関数式が非表示になる方法がありますか?
初心者です、上よろしくお願いします。

A 回答 (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 は忘れないでください
    • good
    • 0
この回答へのお礼

出来ました。ありがとうございます。
感謝感謝です。

お礼日時:2004/02/25 12:35

ScrollAreaです。

誤字、申し訳ない。

例)
Public Sub Workbook_Open()
Worksheets("Sheet1").ScrollArea = "A1:D20"
End Sub

この回答への補足

日々シート数が追加あるいは削除されてます。
シート名を指定しないで、常に現在あるすべてのシートに適用させるにはどのようにしたらよろしいのでしょうか?
お手数をお掛けして申し訳ありませんが、何卒よろしくお願い致します。

補足日時:2004/02/25 10:06
    • good
    • 0
この回答へのお礼

これです!
出来ました。ありがとうございます。
甘えついでにもう1つお願いを聞いてもらえるとありがたいです。
(補足にてご説明させていただきます)
よろしくお願い致します。

お礼日時:2004/02/25 09:50

状況によりますが、


前述されているThisWorkbook内(又はSub Auto_Open)にシートのプロパティ、ScroolAreaを設定すると移動できないようになると思います。
これも同様に再展開するとリセットされる傾向があるため、ThisWorkbook内(又はSub Auto_Open)に書きましょう。
因みに、プロパティウィンドウを開いてから(Windowオブジェクト>プロパティ同)、見出しタブをクリックすることでもシートのプロパティは参照できます。
    • good
    • 0

Bookまたはシートを所定の状態にして保護します。



ツール→マクロ→Visual Basic Editor でVBE画面に移り、 表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。プロジェクトエクスプローラのThisWorkbookをダブルクリック。出てきたコードウインドウに下記マクロをコピーして貼り付けます。

ここまで済んだら、Bookを保存します。
再度開くと、希望の状態になっているはずですが・・・・・・

Bookを開いた時、EnableSelectionを再設定しているだけです。


ここから

Private Sub Workbook_Open()
  Worksheets("Sheet1").EnableSelection = xlUnlockedCells
End Sub

この回答への補足

日々シート数が追加あるいは削除されてます。
シート名を指定しないで、常に現在あるすべてのシートに適用させるにはどのようにしたらよろしいのでしょうか?
お手数をお掛けして申し訳ありませんが、何卒よろしくお願い致します。

補足日時:2004/02/25 10:00
    • good
    • 0
この回答へのお礼

これです!
出来ました。ありがとうございます。

お礼日時:2004/02/25 09:59

>確かに、TabキーやEnterキーでは移動できませんが、マウスや矢印キーだと保護されたセルに移動してしまいます。



VBAでセルにカーソルが止まらないようにできますが、マウスでクリックしている間は関数式が表示されてしまいます。

関数式を見せたくないのであれば、#1の方の言うように非表示のセルに関数を入れて、その値を参照表示するような形にしないと無理でしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
でも、そうすると関数式のあるセルと参照のセルが必要になるわけですよね?
今使っているそのファイルは、結構データが多いので、できれば避けたいと思っている訳です。
(それしか方法が無いようであれば仕方ないですが)

お礼日時:2004/02/25 09:27

カーソルが移動して良いセルで


[書式]→[セル]→[保護]タブで
□ロック
のチェックを外す。
設定が終わったら、[ツール]→[シートの保護]で保護すれば、ロックを外したセルだけしか移動できなくなりますが・・・。

また、関数が入った行とか列を非表示([書式]→[行]または[列]→[表示しない])にすれば、取りあえずカーソル移動出来ないように出来ますが、それではダメですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。

確かに、TabキーやEnterキーでは移動できませんが、マウスや矢印キーだと保護されたセルに移動してしまいます。
(必然的にそのセルの内容が確認できてしまいます)
それと、非表示にしてしまうと、関数式で求められた答えすら見えなくなってしまうので、ダメなのです。
保護されたセルの答えは見たいのですが、カーソルを移動した際に上の窓に見える関数式を見られたくないのですが..
それにはやはりそこにカーソルが移動できないようにするのが一番良い方法かと思う次第です。

お礼日時:2004/02/24 20:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報