[[20130320110515]] 『入力規則のリストに関する表示幅について』(キタ) ページの最後に飛ぶ

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

 

『入力規則のリストに関する表示幅について』(キタ)
初めまして。エクセル2010を使用しています。エクセルの入力規則で設定するリストについて教えてください。
エクセルで様式を作成し、各セルにリストを設定しました。セルの項目によっては、文字数が多いため(だいたい10〜30文字数)、折り返して表示しています。このセルにリストを設定すると、表示されるリストの枠の横幅がせまく、リスト内の文字が全て表示されません。スクロールバーもないので、様式の列幅自体を広げないと確認ができません。様式の列幅は変えずに、リスト内の文字を全て表示させたいのですが、何か方法はありますか?リストの縦幅はスクロールバーで対応できますので問題ありません。リストの横幅です。
色々調べましたが、エクセルのバグを利用するしかないというのもありました。すみませんが、
よろしくお願いします。


 マクロを使って良ければ、過去ログですが。
[[20100408161358]] 『ドロップダウンのリストボックスのサイズ変更』(しずく)

 (HANA)

>エクセルのバグを利用するしかないというのもありました。

 そのバグを逆手にとる、と云う案は却下なんですか?

 ※差支えなければ、その理由を教えてください。

 (半平太) 2013/03/20(Wed) 16:21

 >各セルにリストを設定しました
 というのが、一つや二つなら・・・・。

 ActiveXControlのコンボボックスを各セルに配置してはいかがでしょうか?

 元々、入力規則のリストは、フォームコントロールを使っているみたいなので、
 これを ActiveXControlのコンボボックスに代えてみるということです。

 これなら、セル幅を変えずにメンバリスト表示の表示幅の変更ができます(ListWidthの変更)。
 設定は、簡単なのでコンボボックス形状が残りますが、それを我慢すれば同じようなことはできます。

 入力規則のリスト設定セルがたくさんある場合、
 そのセルの数だけActiveXControlのコンボボックスを各セルに配置というのは大変なので、
 ActiveXControlのコンボボックスを使って入力規則のリスト機能をVBAでシミュレートする
 ことを考えてみてください。

 ichinose


みなさん、ありがとうございます。今回は、VBAではなく、エクセルだけの機能で方法がないものかと思っております。

エクセルのバグを利用しないのは?とのご質問ですが、確かにバグにより、同じリストを他のセルに設定して、そのセルの列幅を広げてリストを表示させ、本命のセルのリストを表示させたら、リスト幅が広くなりました。しかし、これは、リスト幅の大きさが限られていること、そして、そのバグ表示が長く維持できない(いつのまにか小さくなっている)ことから断念しました。

やはり、エクセルの機能だけでは無理なんでしょうか。

ActiveXControlのコンボボックスは使ったことがありませんが、VBAの機能でしょうか。少し調べてみます。

みなさん、色々ありがとうございました。


 >VBAの機能でしょうか
 対象セルの数が一つや二つなら、
 ActiveXControlのコンボボックスをシートに貼り付け、
 プロパティ設定(リストメンバのセル範囲の指定(Listfillrange)や選択値のセルへの設定(Linkedcell))
 だけで入力規則と似たようなことはできます。

 でも、セルが100とか1000個になると、その数だけコンボボックスを作成するというのは、
 現実的ではないですよね!!この場合は、VBAが必要でしょうねえ。

 調べてみてください

 ichinose


コメント返信:

[ 一覧(最新更新順) ]


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