教えて!gooにおける不適切な投稿への対応について

フォントサイズを10に設定していたとします。
セルに「ああ」文字を2文字入力した場合、フォントサイズは設定のままで、「あああ」と3文字入力した場合、フォントサイズを8にしたい時は、どのようにすればいいのでしょうか。

よろしくお願いします。

gooドクター

A 回答 (5件)

こんにちは


御質問を言い換えると「セル幅は変えないでフォントサイズをセルにはいるようにしたい」ということですか?
もうしそうなら、設定したいセルを選んでメニュー「書式」-「セル」を選び、タブ「配置」の「文字の制御」の選択肢を「縮小して全体を表示する」にチェックすると文字が増えたとき、フォントの大きさがセル幅に合うようなサイズに変わっていきます。
外していたらごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
書式が決まっているため、セルの幅は変更できません。
特定の文字でも無理でしょうか。

お礼日時:2009/04/20 16:34

>エクセル関数について


エクセルの関数の基本に対する無知を暴露してますよ。関数はセルの値を決めるもので、書式(フォント・サイズなど)は左右できませんよ。
ーー
VBAでやる(それも2文字の場合x、3文字の場合はy、4文字の場合はz・・といったテーブル(参照表)を持ってそれででもフォントサイズを決めないと
ダメでしょう。
ーー
書式ー配置に有る、縮小して全体を表示する.ShrinkToFit = True
などを使うぐらいだと思う。
(オートフィットというのがあるそれは列幅を広げたりする。Worksheets("Sheet1").Columns("A").AutoFit)
この質問は余り勝手なニーズで合って、エクセルでは応え切れない。
    • good
    • 0

セルの幅は変更されずに、その幅で表示できるようにフォントサイズが自動調整されますよ。

    • good
    • 0

フォントサイズの自動変更はVBA(マクロ)しかありません。


一例です。
仮にA1:A5範囲で3文字以上入力されたらフォントサイズを変更します。
(1)対象シートタブを右クリック→コード表示→以下のコードを貼り付け→VBE終了
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo error
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
If Len(Target.Value) >= 3 Then Target.Font.Size = 8
error:
End Sub
    • good
    • 1

そのような関数はございません。


#1さんのようにセル幅にあわせて自動調整させるか
文字数・ポイント数指定ならマクロを組むしかないでしょう。

にしても
4文字以上の時は何ポイントにしたいとか詳しい仕様が分かりませんので。
    • good
    • 0
この回答へのお礼

ありがとうございます。
書式が決まっているため、セルの幅は変更できません。
特定の文字でも無理でしょうか。

お礼日時:2009/04/20 16:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング