[[20100714010258]] 『同じセルに複数の入力規則』(あゆ) ページの最後に飛ぶ

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

 

『同じセルに複数の入力規則』(あゆ)

 たびたびお世話になっています。

 A2:C10に、入力規則のユーザー設定=$A$1<>1が設定されています。
A1セルの値が1の時はA2:C10のセルは入力ができないという設定です。

 A1セルが1以外の時はA2:C10のセルに入力ができるようになるわけですが、
その時には入力規則のリスト選択ができるようにしたいのです。

 同じセルに二つの入力規則を設定する方法ってありますでしょうか?
よろしくお願いします。

 こんにちは。

 A1セルの値が1かどうかによって、入力規則を切り替えるのですね?
 チェンジイベントでいけると思います。

 まえのご質問ではセレクションチェンジイベントを使っておられますので
 イベントは大丈夫ですね。

 −佳−

 A1セルに「1」と入力した状態で「入力規則」で「リスト」「=IF($A$1<>1,"",I1:I5)」
 (「I1:I5」の部分はデータリスト範囲、またはリストに付けた名前を指定してください)
 と設定して「空白を無視する」のチェックを外してみてください。

 A1セルが「1」以外の場合にもドロップダウンの下三角ボタンが表示されますが入力はできません。
 追記
 範囲に設定するので「=IF($A$1<>1,"",$I$1:$I$5)」ですね(汗
 (独覚)

佳様、独覚様 回答ありがとうございます。

 佳さん
 >まえのご質問ではセレクションチェンジイベントを使っておられますので
 >イベントは大丈夫ですね。

 たしかに使っておりますが、はずかしながらうまくいきません。
よろしければ教えてください。

 独覚さん
教えていただいたとおりに、入力規則に記入したところ、
「リストの元の値は、区切り文字で区切られたリストか、または単一の行または列の参照でなければなりません。」
とメッセージが出てうまく設定できませんでした。
エクセルのバージョンは2000ですが、それが原因でしょうか・・・。

 (あゆ)


 ごめんなさい、「A1が1の時に入力できる」という条件になっていました(汗

 「=IF($A$1=1,"",$I$1:$I$5)」
 としてみてください。

 なお、上記入力時にはA1セルは空白のままとしてください。

 (独覚)

独覚様 ありがとうございます。

 式は気がついていましたので、上記のようにしていました。(^^ゞ

 入力規則設定時に、A1に値が入っていると、入力規則の設定が出来ないのですね。
A1には、実際には計算式が入っていますが、値や式がA1に入っているとダメのようです。
この場合だと、「1」という値そのものや、式の結果が「1」になっている場合はダメで、
設定条件に当てはまらない値や式、文字などは入っていても設定出来るようです。

 入力規則の設定はこれで出来ると思うのですが、リストに設定した内容が増えたり減ったり
することもあり、途中でリスト範囲の変更の時に支障が出そうです。
(ファイルはコピーされて不特定多数の人が使います)
あらかじめリストの参照範囲を多めに設定しておけばよいかとも思いますが、
空白のセルをふくめた範囲を参照すると、プルダウンリストが間抜けな感じになるのが難点です。
(空白セルに入力時、プルダウンリストは、参照範囲の空白セルの位置になっているので、
スライダーを動かさないと、まるでリスト項目が無いように見えてしまいます)

 こうする以外に他に方法はないのでしょうか?


 「=IF($A$1=1,$J$1,$I$1:$I$5)」としてJ1セルには何も入力しないようにするとA1セルが1のときにも
 エラーにならないようです。

 なお、上記の場合も「空白を無視する」のチェックは外してください。
 (独覚)

独覚様

 ありがとうございます!
完璧です!本当に感謝です。
これで完璧な入力制限ができました。
(コピペには無力ですが・・・)

 いろいろお知恵をさずけていただきありがとうございました。

 (あゆ)

 解決後になりますが。

 イベントについて
 > たしかに使っておりますが、はずかしながらうまくいきません。
 > よろしければ教えてください。

 なにを教えたらいいのでしょう。
 イベントというのは、(ユーザーの)動作をきっかけにして、あらかじめ仕込んでおいたコードが自動的に動き出す仕組みです。
 イベントのきっかけにできる動作は、エクセルによってあらかじめ決められています。
 コードしては、
 「(ユーザーの)動作」と「そのとき実行させたいコード」をペアで指定します。

 今回のは こんなコードになります。
 sub チェンジのイベント()
     A1の値が1だったら
         A2:C10のセルは入力ができないという設定にする
     それ以外は
         A2:C10のセルは入力規則のリスト選択ができるようにする
     End If
 End Sub

 ※すべてご存知のことばかりかも...


コメント返信:

[ 一覧(最新更新順) ]


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