• ベストアンサー

セルにすべての文字が収まるようにしたい

Excel2010で質問です。標記のことができるようなマクロを作りたいんですが、縮小して全体を表示するとか折り返して全体を表示するの設定は知ってます。この2つをあわせたようなことができないかなと思ってます。文字が入らなければ自動的にフォントサイズが小さくなりかつ折り返して表示するみたいなことがマクロでできればと考えているんですが…何か知恵をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • CC_T
  • ベストアンサー率47% (1038/2201)
回答No.1

マクロでセルの幅や高さを取得してすることもできますし、実際に何通りか試せば縦横何ピクセルのセルなら何文字何行まで表示できるか確認できるでしょうから、とりあえずセルの幅や高さが分かればそこに表示できる最大文字数というのは予め予想できそうですね(フォントによる差を無視すれば、ですが)。 ということで、セルの書式設定を「改行して表示」にしておき、該当セル内の文字列の長さをマクロで取得して、Select Caseなどで文字数に合わせてフォントサイズを変更させる内容で実装できそうですね。 マクロをワークシートイベントに登録しておけば、セルに入力都度自動で調節させることもできるのではないでしょうか?

shinchan_k
質問者

お礼

回答ありがとうございます。地道に取り組んでみます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelでセル内の文字列を全て表示したい。

    Excel2000を使って、ブックA(入力用シート)の特定のセルに入力されている文字列をブックB(出力用テンプレート)の特定のセルに表示したいのですが、セルの大きさが異なるため、全体を表示できません。セルの書式設定で「折り返して全体を表示する」にすると、結局全部の文字列は表示されませんし、「縮小して全体を表示する」にすると1行になって縮小されてしまい、小さすぎて読めません。両方同時に指定できれば良いのですが不可能なようなので、VBAや関数、その他機能を使って実現できないものかと考えております。 何か良いお知恵をお貸し頂ければ有難いのですが。

  • 文字数に応じてfont-sizeを自動変更

    エクセルのセルの書式の中にある「縮小して全体を表示する」の様な ことをしたいのです。 具体的にはtableの固定幅セルのfont-sizeを、文字数に応じて自動的に 設定して、セル内で折り返しが発生しないようにしたい。 といっても、そんなに厳密でなくてもいいので、 「文字数が○文字未満ならfont-size:normal、以上ならsmall」 程度でいいんですが、これをCSSのみかCSS+JavaScriptで 実現できないものでしょうか。 文字数に応じて<td>のclassを変えればいいのでしょうが、 できれば、テキストの修正をすれば自動的に変わる様にしたいです。

  • 【Excel 2003】セルから文字をはみ出させる方法

    【Excel 2003】で、セルから文字をはみ出させる方法を教えて下さい。 ※折り返して全体を表示、縮小して全体を表示 ではありません。 久しぶりにExcelを使ったのですが、すっかりその方法を忘れてしまいました。全く思い出せず困っています。検索しても見つかりませんでした。 ご存知の方、どうぞよろしくお願い致します。

  • セル内の特定文字に対してマクロ実行したい

    セル内の特定文字(対象の文字はマウスで選定)に対しフォント変更のマクロを設定したいのですが方法はありましでしょうか?、マクロの内容は1)P明朝をPゴシック且つ強調文字に変更、2)その逆の2種類のマクロをつくりたいのですが・・・・セル全体のマクロは出来るのですが、対象文字を選定するとマクロの作成が出来なくなります。使用ソフトはwindowsXPと2000です。エクセルのマクロはツールバーから新規マクロ作成で自動的に作る程度しか出来ません。よろしくお願いします。

  • Excel 文字はみだす

    Excel2007を使っています。 セルの中に文字を打つとはみだしてしまいます。 ネットで調べてみると、右のセルに何か文字を打つや折り返して全体表示、縮小表示などありますが、 右のセルやそうのような設定をせず、はみだす文字は非表示にできないでしょうか? よろしくお願いします。

  • Excel2000でセルの書式設定を変更させたくない

    Excel2000でセルの書式設定を変更させたくない Excel2000を使用しています。 Excel2002?以降では、書式設定を保護できるらしいですが、2000ではそのような機能がありません。でも、データを貼り付けた際に書式設定を変更させたくないのですが、何か方法がありますでしょうか? 具体的には、シート内のある範囲内(B3-F43)までを書式設定で「縮小して全体を表示」に設定してあり、「折り返して全体を表示する」のチェックを外してセル1行で表示するよう設定しています。 ここに改行付きの文字列データをコピーして貼り付けると、「折り返して全体を表示する」に勝手にチェックが入ってセル1行では表示しきれなくなり、文字全体が読めなくなるのですが、この勝手にチェックされてしまう「折り返して全体を表示する」のチェックをマクロを使って、自動で外す方法とかありますでしょうか? とりあえず現状は貼り付け前に一度、テキストエディタで改行を削除する編集をしてからデータを貼り付けるようにしてるのですが、面倒なのでできれば改行付きデータを直接Excelに貼り付けても「折り返して全体を表示する」にチェックが入らないようにしたいのです。 マクロの知識はまったくないので、どなたかお知恵を貸していただけないでしょうか? 現在、他の件でマクロを教えていただいて、Thisworkbookという所に、Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)とかいうマクロを記述してあります。 Excelデータを上書きセーブする際にこのマクロが走るようなんですが、これに追記する形で、B3からF43までのセルの書式設定の「折り返して全体を表示する」のチェックを強制的に外すことができると助かるのですが。 同じシート内に、「折り返して全体を表示する」を使用しているセルもあるので、シート全体の書式設定を変えてしまうのではなく、あくまでB3からF43までの範囲のセルで設定したいのですが、こういうことはマクロで可能なのでしょうか?

  • セルに表示しきれない文字を見る方法

    環境 Windows 11 Excel 2019 単一セルにおいて、Excel設定上の幅50高さ18.75に設定し、ここに全角100文字程度入力をすると1部分はセル(メモを残しておくようなセルです)をはみ出して表示され、右隣にデータがあるとはみ出した部分が表示されなくなります。 この文字全体を何らかの方法で見えるようにしたいです。 列数が多い表を作成しており、自分のPCの画面上は、拡大縮小100%で全列を表示しきれず見づらい状態です。かといって縮小表示しても文字が小さくで見づらいです。ですので上に記載した設定がされている列の幅を長くすることを考えていません。またメモですので改行があったりします。 まとめると ・高さ18.75 ・幅50 ・フォントサイズ11 ・メモのセル内改行あり ・メモの右隣セルには入力データあり となります。他の条件としては次のようになります。 ・メモの入力はセルのみ(コメントなどは×) ・数式バーは1行分のみ表示 ・「折り返して全体を表示する」「縮小して全体を表示する。」は使用しない ・VBAは使用しない 自分が試した方法は、テキストボックスに表示させるものです。 選択したセルの内容を表の邪魔にならないところに置いたテキストボックスに表示します。 =INDIRECT(ADDRESS(CELL("row"),CELL("col"),4))で選択セル取得したいのですが、再計算が行われないとそのセルの値が取得できないようです。F9(再計算)を押させるのは、私以外にも使用者がいるのですがそれを考えると運用になじまないと思っています。ここで手詰まりになってしまいました。 説明不足あるかもしれませんが、ご教授よろしくお願いいたします。

  • EXCELのセルの表示を完全に同じにしたいのです

    EXCEL2000を使っています。 使い方が間違っている感じかもしれませんが例えばA1のセルに表示させている文字列「あいうえお」をフォントサイズ11、12、13・・・と一文字ずつ大きくした文字列を作って、それを他のセルに同じようにA1を入力した時に自動的に貼り付けが行われるようにしたいのですがどのようにすればいいでしょうか?

  • EXCEL2003でセル内の文字制御

    最近Excel2003仕事で使用しているのですが、セル幅よりも長い文を打ち込むと勝手に折り返して全体を表示するになってしまいます。 Excel2002まではこういうことがなかったように思います。 自動?で全体を表示する設定にならないようにするにはどう設定しておけばよいですか? 教えてください。

  • ファイルメーカーでの入力文字の表示に関して質問です

    ファイルメーカー6を使用しております。 見積書をFMで作成しており、見積先にあたるフィールドに顧客名をテキスト入力するようにしてあります。 このフィールドのフォントサイズは14ptにしようと思っております。 しかし、ごくまれに決められたフィールドには収まらないくらい長い会社名の顧客があり、14ptのままでは全文字表示できません。 エクセルだと「縮小して全体を表示」というセルの書式がありますが、ファイルメーカーにも同様の自動的にフォントサイズを縮小させて表示させる機能or関数があるのでしょうか? よろしくお願いいたします。

専門家に質問してみよう