[[20180803090224]] 『シートを保護した場合のカーソルの挙動について』(mura) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートを保護した場合のカーソルの挙動について』(mura)

特定のセルのみ編集できるシートを作成したいので、セルのロック機能と
シートの保護機能を使って作成しています

ロックされたセルはアクティブにしたくないので、シートの保護で
「ロックされたセル範囲の選択」をできないようにしています

このようにすると、ロックされていないセルのうち一番左上のセルが
アクティブセルのときに、カーソルキーの上や左を押すと、
「今いるセルの直前のロックされていないセル」にアクティブセルが
移動してしまいます。

(例)
A1:E10だけをロック解除したシートで、A1がアクティブなときに
カーソルキーの上を押すと、E10がアクティブになってしまう。
C1がアクティブなときに上を押すと、B10がアクティブになってしまう。

この動きをしない(A1がアクティブなときにカーソルの上を押しても
なにもしない)ようにできないものでしょうか。
よろしくおねがいします。

< 使用 Excel:Excel2016、使用 OS:Windows7 >


 ThisWorkbookモジュールに
 Private Sub Workbook_Open()
    Worksheets("Sheet1").ScrollArea = "$A$1:$E$10"
 End Sub
 と記入してスクロールエリアの制限をしてはどうか?
(ねむねむ) 2018/08/03(金) 09:35

 ただしこれはカーソルを移動できる範囲を制限するだけなのでセルのロックとシートの保護は併用してくれ。
 (名前ボックスにセル番地を入力してEnterでセルへの移動が可能でその時に入力できてしまうため)
 なおその時にはロックされたセル範囲の選択にもチェックを入れておいてくれ。
(ねむねむ) 2018/08/03(金) 09:38

回答ありがとうございます。

ScrollAreaの設定をし、かつシート保護時に「ロックされたセル範囲の選択」を可能な
ようにしてみたところ、思っていたような動きになりました。

実際に作ろうとしているシートは、A・C・D列が入力可能で、B・E列には式が入っていて
変更させたくない、というようなイメージで、
できればB・E列はアクティブにしたくない(カーソルが行かないようにしたい)のですが、
「ロックされたセル範囲の選択」を可能にした場合は、当然ながらB・E列もアクティブに
なってしまいます。

「ロックされたセル範囲の選択」を不可にした場合は、A1がアクティブなときに
カーソルの上や左を押しても何も起きないのでいいのですが、D1がアクティブなときに
上を押すと、C10がアクティブになってしまうようです。

「ロックされたセル範囲の選択」を可能にした場合でも、TABキーで移動した場合は
B・E列は飛ばしてくれますし、仮にカーソルキーで移動しても変更はできないので
いいといえばいいのですが。

ScrollAreaとロックの設定でいろいろ動きが変わってくるようなので、ユーザーの
意見を聞きながら妥協点を探ることになりそうです。

ありがとうございました。
(mura) 2018/08/03(金) 10:26


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.