[[20101112021124]] 『固定サイズのセル内に表示しきれない文字列を』(表示させたい) ページの最後に飛ぶ

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

 

『固定サイズのセル内に表示しきれない文字列を』(表示させたい)
 よろしくお願い致します。
 関数によって別シートから呼び出された文字列(例えば =VLOOKUP()によって)を、
 サイズが固定されたセル内に表示する場合、文字列の文字数が多くなると、
 表示しきれないか・読めないくらいの小さな文字になってしまいます。

 固定サイズセルにマウスポインタを当てるだけで、
 その呼び込んだ文字列の内容を、読める程度のフォントサイズで、
 別枠で(例えば、【テキストボックス】とか【コメント】や
 【入力規則の入力時メッセージ】の表示枠のような)で自動的に表示させることは、
 出来ないでしょうか?
 関数で呼び込まれていますので、数式バーには文字列は表示されません。

 エクセルで何でも出来ると思っているわけではありませんが、
 そんな機能があったら凄く便利だな、と。

 (XP  Excel 2003)


 >別枠で(例えば、【テキストボックス】とか【コメント】や
 >【入力規則の入力時メッセージ】の表示

 VBAを知っていれば、上記は可能です。
 数式で設定しているセルへの設定もVBAで行ってしまえば、
 >関数で呼び込まれていますので、数式バーには文字列は表示されません。
 これが、文字列で表示されるので、問題解決ですが・・・。

 VBAを知らなければ、ここでVBAまで踏み込むか否かの決断です。
 あるいは、他の発想で見易くするか ですね!!

 ichinose


 (ichinose)さん、
 ご返答ありがとうございます。
 (表示させたい)です。
 VBAでの記述となりますか。
 かなり難儀な話となりますね。

 と言いますのも、呼び込む関数か入っているセルは、
 3400セルほどあります。
 検索結果を表示するセルなのですが、
 =MATCH関数(OFFSET関数)のネスティング構造のほか、
 エラー処理のための ISERROR()関数も組み込まれています。

 ・検索結果の表示は200レコード分
 ・各レコードは17フィールドで構成
 ・検索結果のHit数が200レコードをオーバーした場合は、以降のレコードを
     切替表示(頁替えのような感じです)
 ・KeyWord4個で、最大(KW2個のOR条件)(AND条件)(KW2個のOR条件)の組合せ
     (「すべてのKWが空白」を含めて16通り)
 ・検索でHitされた各レコードの表示には連番が付与され、最大65,000番まで
     (検索される側がマトリックス状に配置された65,000レコード)
 ・A4サイズ縦印刷を前提にデザインしており、Hitレコードのフィールド表示は
   上段/中段/下段の段落組み

 上記の内容はすべて解決出来ていて、動作は完璧なのですが、
 文字列の表示に関してのみ不満が残る と言った具合です。

 そこであらたな質問です。
 Q1)VBAの記述は、文字列を表示するセル限定で可能ですか?
 Q2)そのセルに組み込まれている関数は、そのまま使えますか?

 以上、よろしくお願い致します。

  (表示させたい)


 >3400セルほどあります。
 これは、問題ありません。というより、VBAでやった方が軽くなる場合が多いと
 思います。
 > =MATCH関数(OFFSET関数)のネスティング構造のほか、
 >エラー処理のための ISERROR()関数も組み込まれています。
 3400のセルにフィル操作で作成した数式ですよね?
 だとしたら、問題ありません。

 >Q1)VBAの記述は、文字列を表示するセル限定で可能ですか?
 勿論です。

 >Q2)そのセルに組み込まれている関数は、そのまま使えますか?
 どうせやるなら、関数で求められる結果もVBAでやった方が良いと思いますが・・・。

 取り合えず、
 当該シートモジュール(これが何なのか は、調べてください)に

 Option Explicit
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ctarget As Range
    Dim drng As Range
    On Error Resume Next
    For Each ctarget In Target
       For Each drng In ctarget.Dependents
          With drng
             .Comment.Delete
             .AddComment .Text
          End With
       Next
    Next
    On Error GoTo 0
 End Sub

 意地悪のようですが、これで試してみてください。
 これは、関数を残したままコメントに表示しきれない内容を
 表示するようにしてあります。

 シートのイベントを使っていますから、上記のコードをどこに記述すれば、よいのか
 を調べることから、始めてください。
 又、初期設定では、VBAコードが作動しない設定になっていることも
 考えられますから、その辺りの確認もしてみてください。

 ichinose


ichinoseサン、ありがとうございます。
 >VBAでやった方が軽くなる場合が多いと思います。
 そうなんです。レコードを書き込む前の、このフォームだけで
 10MBytes程になってしまいました。
 ("手動再計算"モードで、入力時のノッキングを回避していますが)

 VBAコード、早速試してみます。
 とりあえず、お礼まで。
 (表示してみたい)

コメント返信:

[ 一覧(最新更新順) ]


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