2017-09-21 16 views
1

次のような音符に関する簡単なスプレッドシートがあります。Excel動的データ検証リストを自動的に更新しますか?

まず、ドロップダウンメニューからこれを選択して、シャープまたはフラットを表示するかどうかを選択します。これにより、スプレッドシート内の他のセルがシャープまたはフラットのいずれかの倍率で表示されます。下記参照。

enter image description here

enter image description here

これが正常に動作します。次に、別のセルでは、これらのノートの1つを選択できるドロップダウンメニューのデータ検証が使用されます。下記参照。

enter image description here

enter image description here

これは、同様に除くセルB2が変更された場合、セルD2は、自動的にデータ検証リスト内の対応するセルに更新されないことを正常に動作します。つまり、セルB2が変更された場合、セルD2にはノートのリストに表示されないテキストが含まれる可能性があります。これを可視化するには、以下を参照してください。上の画像で

enter image description here

、セルB2が正しくノートのリストを更新し、「シャープ」に変更されました。しかし、セルD2はすでにフラットノート(この場合はDb)を選択していたため、セルD2は対応するシャープノート(この場合はC#)に自動的に更新されませんでした。

私の質問は次のとおりです。セルD2がデータ検証リストが変更された場合、データ検証リストの対応する値に自動的に更新することは可能ですか? (VBAを使用しないことが望ましい場合があります)

+0

従属データ検証はどのように設定しましたか? –

+0

@RonRosenfeldデータ検証、許可:リスト、出典:$ B $ 6:$ B $ 17 – ImaginaryHuman072889

+0

D2のリストはどうですか? –

答えて

1

D2にエントリがあるときにB2を変更しないようにするには、DV式を変更してエラーを返すか、D2が空白でない場合はFALSEを入力します。ユーザーがシステムがフリーズしているとは思わないように、説明メッセージを追加する必要があります。

例えば:Source下式

F1: Sharps 
G1: Flats 

あなたが数式を入力するためにD2実際にクリアする必要があります。

D2が不明な場合はB2を選択できますが、変更することはできません。

enter image description here

これは単にセルが選択されたときに表示される可能なメッセージを示しています。

enter image description here

あなたはシャープからフラット(またはその逆)に変更するときB2内のエントリは、対応する音符に変更したい場合は、VBAを必要とします。

+0

答えてくれてありがとうRon。これは、セルB2の変更を許可しないため、理想的ではありません。しかし、私はあなたの答えをまだ修正してマークし、+1を付けました。 – ImaginaryHuman072889

+1

@Peter VBAなしで、他に何がわからないのですか? VBAイベントコードでは、確かに実行可能です。ありがとう。 –

関連する問題