• 締切済み

エクセル フォーム リストボックス等

もう3日間も解決しない事があり、是非良い回答をお待ちしてます。 エクセル フォーム リストボックスですが、リストの文字が小さくて見えづらくフォントを大きくしたいのですが、書式設定のメニューにはありません。どうしたら変更できますか? かってながらもう一つ質問があります。 B2のセルにA1に入力された数値をリンクさせる為にB2に=A1と入力したのですが、確かにA1に入力された数値が現れましたが、A1の数値は表示形式が文字列(数値の前に'がある)であったものが、B2には文字列表示になりません。B2に表示された数値を文字列(数値の前に'がある)には出来ないのでしょうか?

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.9

こんばんは。 いろいろい検討させていただきましたが、これ以上のこの件を長引かせても、こちらの回答は難しいように思います。なぜ、こちらがお聞きしたことには、答えられないのか、理由が良く分かりません。 検索範囲内の列の問題なら、そのデータを直すか、補助列を置いて、Value関数などを使って、そこで修正し、それを検索の対象とすればよいと思います。 こちらの、解決手段としては、まず、検索式の提示していただいて、それを訂正なり、検討させていただこうと予定していましたが、それは相成らぬ結果になってしまいました。 おそらく、検索式では、 フィールド名 =">"&"'2" こちらは、「=」が使えません。 または、 フィールド名なしにしておいて、2行目から =A2>"2" こちらは、「=」が使えます。 Criteria の範囲は、空白行を含む (テストは、Excel2003) のようにすれば良いのかもしれませんが、Excelのバージョンの違いなど、複合的な問題が合わさってくる可能性もあります。また、文字列の検索に関しては、文字コードの問題が絡んできますので、複雑になることもあります。こんなことは、すでに、ご存知だとおっしゃるなら、無視してかまいません。ただ、こちらも、それ相応の知識と経験を持って、相手の用語の使い方などから、そのレベルを判断し、回答を選んでいます。しょせん回答者は、質問者さんの出された内容の範囲から類推するしかありません。質問者さんの分かりきった問題が、回答者には、ほとんど見えていないのです。経験によっていくつかのパターンから回答を割り出しているだけで、該当するのかそうでないのか、分からないのでは、回答は本来出来ません。経験が多ければ多いほど、情報が少ないと、混迷を深めてしまいます。 一応、これまでにさせていただきます。あしからず、ご了解ください。

north-tige
質問者

お礼

Wendy02さん私の話に適切に向き合って頂いて本当にありがとうございました。御苦労様!

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.8

こんにちは。Wendy02です。 >フィルターオプション 「フィルタオプション」ですか? 「オートフィルタ」とは、似ていて非なるものです。「フィルタオプション」は、データベース機能を持っているものです。 -------------------------------------------------------- 1. フィルタオプションで、ある程度、選択範囲(Database), 検索条件(Criteria),抽出範囲(Extract)の仕組みはお分かりなりますか? 2. 検索式の、「論理和」と「論理積」の違いは分かりますか? 3. 正しく、検索式は書けますか? 今、入れている、その検索式は、どういうものですか? なお、「'(プレフィックス)」というより、文字列を抽出する検索式はおそらくは、私に出来ると思いますが、まず、確認できていないのでは、この件は、話が飛んでしまいます。 4. 別のシートに出す方法はご存知で、今、検索は出来ているのですか?(重要) 5. Excelのバージョンは、いくつですか? 2002 か、それ以外か、ということです。 文字列か、文字列ではないかは、その後の問題です。検索式が正しく書ければ、後は大きな問題ではありません。 --------------------------------------------------------- もう少し、順序だてて、正確に説明されたほうがよいようですね。 ちょっと抽象的な話にさせてしまいますが、大変失礼かと思いますが、全体的にみて、問題の解決になる内容については、ほとんどピックアップされていなかったように思います。しかし、それ以上に、おやりになろうとしていること、また望んでいる結果が、今までのここの経緯からすると、現在のレベルからは、すこしハードルが高いような気がします。どれひとつ取っても、Excelを何年もやっている人でないと、出来ないような内容です。逆にいうと、VBAを扱うよりも、難しい内容にもなります。それは、VBAは、論理ですが、ワークシートは、直感的なものだからです。 こちらも、おそらくは、どの部分なのかは想像はしているのですが、今回は、先回りして回答しても、その前にきちんと、ステップを踏む必要があるかと思います。それぞれの項目に、回答をお願いします。 (こういう書き方で、質問者さんよりも、他の回答者さんが苛立ちを覚えて、かなり強行な割り込みをする人-おおむね回答は違っています-がいるようですが、私は、本当に理解してもらいたいから書いているのですね。それだけはご了解ください。)

north-tige
質問者

補足

いろいろ調べたり、試したり頂いて申し訳ないのですが、「フィルタオプション」は何度も使っています。抽出先も抽出先範囲で指定います。 今までこんな問題にぶち当たる事も無く原因もはっきりしています。それは抽出先範囲の検索列は文字列で、検索しようとしているものは数式で求めたもので文字列ではありません。よって一致するものがなく抽出出来ないのです。ですから私が質問したいのは数式で求めたものを文字列にはならないかという事です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

こんばんは。Wendy02です。 >あるシートには(数値の前に'がある)文字だから検索出来ずにいるのです。 #具体的には、どういう数字で、どういう検索ですか?(FROM Wendy02) >検索範囲は間違いなく文字列です。 それは、答えになっていません。 具体例がないので、確認や再現ができないのです。文字と数値を混在してみても、二つのバージョンの違うExcelで調べても、問題は発見されません。 こちらが知りたいのは、 ・すべてが文字列になっているか。数字は、どのようになっているか。 ・書式がすべて文字列になっているか。または、「'」ついているのか。 ・検索は、どんな検索か。「例 10 以上とか」 ・どのようなトラブルなのか。 最終的に、元の検索データと検索条件によって、どのような答えを求めているのか。 そもそも、「'」付きのままにしておくことが、問題を発生するのなら、なぜ、それを直そうとしないのか、とか、疑問は深まるままです。 数字の文字列を検索する、数値を検索するのとは、おのずと違いは出るはずです。これらが、分からないと、私のほうでは、お手上げです。

north-tige
質問者

補足

細かい説明は出来ませんが、A1セルは(実はB19)文字列で部品番号が入力(部品番号の前に'が有る)されています。B1セルは(実はR3)=B19が入力されてます。そこでフィルターオプションの抽出先を指定した範囲でリスト範囲を別のシートにしてあるのですが、そのシートには”部品番号”列があり文字列で入力(部品番号の前に'が有る)されています。そのシートの別の列に”判断”があり部品番号で検索し判断を抽出させようとしています。検索条件範囲にR3があるのでR3はどうしても文字列(部品番号の前に'が有る)にしなければならないのです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。Wendy02です。 >プロパティの中で入力範囲やリンクセルは何処に入力するのでしょうか? コントロールツールのリストを貼り付けたら、右クリックして、プロパティ ListFillRange(入力範囲)に、データの範囲を入れます。 例:A1:A10 LinkedCell(リンクセル) は、出力側になります。 例:B1 >あるシートには(数値の前に'がある)文字だから検索出来ずにいるのです その検索範囲の書式は、文字列にはなっていませんね。 この質問は、ここのカテゴリで前に受けたことがあります。その時は、あれこれして、最終的には、全部数字にすることで、質問者は決定しました。 今、調べてみましたが、具体的には、どういう数字で、どういう検索ですか? こちらでは、数値と '数字(文字列の意味)で、「~以上」をやってみましたが、問題はありません。 どうも、バージョンによって違うような気もします。(こちらは、XLX2003) オートフィルタには、今まで、確かに、おかしな癖を持っていたのは事実です。こっそりと直ったものもあります。

north-tige
質問者

お礼

回答ありがとうございます。 検索範囲は間違いなく文字列です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 かつては、フォームのフォントサイズを変更は、ある程度、Excelに精通していた人は、だいたい換えていたようですが、今は、しているという人の話を聞きません。 方法は、レジストリエディタ(RegEdit)から、 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options 11.0 は、Excel 2003ですから、それぞれ変わります。 なお、Excel 2000以下は、Optionsがなくなり、Excelから入れます。 で、[新規作成] - [文字列]で、項目を作って、  DlgFont   をつくり、その値に、 MS Pゴシック, 10 とすれば変更できます。なお、デフォルトが、9になっています。 フォントサイズでは、12 では大きすぎるようです。 しかし、これに伴って、他のダイアログ・フォントも大きくなってしまいます。バランス感覚で、それほど大きくは出来ません。 このフォーム・ツールというのは、Excelにおいては、Excel97以前に標準的に使われてきたもので、出来る限り、コントロールツールに換えるようにしてください。また、レジストリの操作等は、自己責任でお願いします。 >A1の数値は表示形式が文字列(数値の前に'がある)であったものが、B2には文字列表示になりません。 数式バーに見えている「'」は、Lotus123にあった、文字列書式用の接頭辞(プレフィックス)で、書式記号です。今、こちらでは、「B2には文字列表示になりません」というのは、再現できません。 書式で、文字列(@)にしているなら、そのとおりですが、接頭辞「'」をつけていれば、参照先も、文字列になるはずです。書式記号だけが現れていないだけで、それは、文字列です。 =ISTEXT(A1) とすれば、TRUE になるはずです。試してみてください。 数値にするためには、  =VALUE(A1) としなければなりません。試してみてください。

north-tige
質問者

お礼

回答ありがとうございました。コントロールツールボックスに変更致します。

north-tige
質問者

補足

コントロールツールに変更します。しかしプロパティの中で入力範囲やリンクセルは何処に入力するのでしょうか? 実はB1セルの文字をオートフィルターオプションであるシートから検索させようとしていますが、あるシートには(数値の前に'がある)文字だから検索出来ずにいるのです。=ISTEXT(A1)では検索不可でした。

noname#187541
noname#187541
回答No.4

こんにちは。 フォームのリストボックスで文字の大きさを変えることは出来ません。 フォームではなくてコントロールツールボックスのリストボックスであれば出来ます。 リストボックスを右クリックしてプロパティを表示させます。 その中にFontといおう項目があります。それで設定可能です。

north-tige
質問者

お礼

回答ありがとうございました。コントロールツールボックスに変更致します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

前半は、エクセルは、操作やVBAを使う範囲内では、コントロールの体裁を余りいじくらせてくれないです。 リストボックスのアイテムのフォントサイズも、リストボックスのプロパティのリストに現れません(E2002)。ですから無理と思いました。 しかし、 コントロールツールボックスのリストボックスですが VBEの標準モジュールに下記を作り Sub test01() Worksheets("Sheet1").ListBox1.Font.Name = "HG行書体" Worksheets("Sheet1").ListBox1.Font.Size = 20 End Sub を実行すると、フォントの大きさが大きくなりました。 フォントの種類は変えられませんでした。 ーーーー 後半は ="'"&A1 'が目立つので、 =" "&A1 =""&A1 など 私はプレフィックス「’」のコードないし仕組みを、今までから知りたく思っているが判らずじまい(LOTUS123との互換性から入ったらしい’はエクセルで特別な処理をしているよう)。

north-tige
質問者

お礼

回答ありがとうございました。コントロールツールボックスに変更致します。

north-tige
質問者

補足

コントロールツールに変更します。しかしプロパティの中で入力範囲やリンクセルは何処に入力するのでしょうか? 実はB1セルの文字をオートフィルターオプションであるシートから検索させようとしていますが、あるシートには(数値の前に'がある)文字だから検索出来ずにいるのです。=""&A1では検索不可でした

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

>B2に表示された数値を文字列(数値の前に'がある)には出来ないのでしょうか? ◆これで、いかがでしょうか? B2=TEXT(A1,"#")

north-tige
質問者

お礼

回答ありがとうございました。コントロールツールボックスに変更致します。

north-tige
質問者

補足

コントロールツールに変更します。しかしプロパティの中で入力範囲やリンクセルは何処に入力するのでしょうか? 実はB1セルの文字をオートフィルターオプションであるシートから検索させようとしていますが、あるシートには(数値の前に'がある)文字だから検索出来ずにいるのです。=TEXT(A1,"#")では検索不可でした

回答No.1

一つ目の質問は、わかりません。しいて言うならエクセル全体の表示を150%などすると文字が大きくなります。当たり前ですね・・・。 二つ目の質問は、B2のセルを右クリックしてセルの書式設定で表示形式を文字列にするのはどうでしょうか?

north-tige
質問者

お礼

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

関連するQ&A