[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『名前の自動拡張(Offsst)+indirestで複数段のドロップダウンリストができません』(ろでます)
はじめまして、ろでますと申します。
表題の通りなのですが、名前をOffsetで拡張した場合、indirectを使用した複数段のドロップダウンリストができません。
例として柿に書かせていただきます。
シート2以下のように設定をします
A B
1 食べ物 肉
2 肉 牛肉
3 野菜 豚肉
4 果物 鶏肉
そして、A列・B列とも1行目を名前行として、今後の拡張も考え、offset+CountAのやりかたで自動拡張させています。
これで、シート1の
A1に入力規則でリストを選択し、ドロップダウンリストから選択
=食べ物
とします。
次にB1には、入力規則でリストを選択し、ドロップダウンリストから選択として
=indirect(A1)
と設定したのですが、ここで、A1のドロップダウンリストから「肉」を選択しても、B1のドロップダウンリストには何も選択できない状態になってしまいます。
名前の範囲を、それぞれoffsetを使わずに固定で行うとうまくいきます。
これの解決方法がわからずとても悩んでおります。
マクロで、Workcheetchangeを使って、名前拡張を行えば、可能なようなのですが、例外的な処理が出た場合、エラーが出るので、汎用的に使えない・・・。
何とかマクロを使用せずこの問題を解決する方法をご存知の方がいらっしゃいいましたらご教授願えませんでしょうか。
よろしくお願い申し上げます。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>A列・B列とも1行目を名前行として、今後の拡張も考え、offset+CountAのやりかたで自動拡張させています。
ちょっとお尋ねします。
この名前定義は、数式でも利用しているんですか? それとも、この入力規則の為だけに定義しているのですか?
(半平太) 2014/04/09(水) 12:29
名前定義は数式では使用しておりません。
あくまで入力規則の中でのみ使用しています。
(ろでます) 2014/04/09(水) 13:31
>名前定義は数式では使用しておりません。
そういう事でしたら、Sheet2のB列より右のリストは、拡張とは無縁に1セルだけにしてください。
つまり、名前定義が「肉」ならその範囲は$B$2、「野菜」なら$C$2、・・・ とする。 (別に1セルじゃなくてもいいのですけど、幾つでもいいなら、1セルが単純でいいと云うだけです)
そして、Sheet1のB1セルの入力規則として、「リストの元の値」ボックスに
=OFFSET(INDIRECT(A1),0,0,COUNTA(OFFSET(INDIRECT(A1),0,0,500))) と入力する ↑ (各リストは最多でも、500はないであろうとの前提です)
(半平太) 2014/04/09(水) 14:25
ありがとうございます!、解決いたしました!
こんなやり方があったんですね、まさに目からうろこです!
本当にありがとうございました!。
(ろでます) 2014/04/09(水) 15:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.