[[20060623093307]] 『指定文字数以上になったら折返し表示にしたい』(杞太) ページの最後に飛ぶ

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

 

『指定文字数以上になったら折返し表示にしたい』(杞太)
 いつも大変お世話になっております。
早速質問なんですが

   |    A    |    B    |    C    |    D    |
 1 |エクセルは難しい。 |         |    9    | 
 2 |         |         |         |         |
 3 |・・・・・・   |         |         |         |

 セルA1に入力された文章をセルD1に関数=LEN(1A)を記述し文字数を表示させる。
 その上で
 セルD1内の数が15以下ならばセルA1の文章をセルA3に縮小表示で転記。
 15以上ならセルA1の文章をセルA3に折返し表示で転記。
 という振り分けは可能でしょうか?
 方法がありましたらどうか教えてください。
 WindowsXP Excel2002

 趣旨が違うかもしれませんが、条件付書式設定で解決できないでしょうか?
目的のセルを範囲指定⇒書式⇒条件付書式 
セル内容で条件分岐・数式結果で条件分岐の2通りが有り
条件にあったときに指定した書式設定が反映されます。(左玉)

 返答ありがとうございます。趣旨は合ってますヨ。特に制限はありませんのでどういう方法でも目的が達成できればOKなのです。私も先ほど条件付書式で試してみたのですが折返し表示や縮小表示設定については項目が出てきませんでした。IF関数などでは対応は可能でしょうか?

 「条件付書式」で「折り返して全体を表示」の設定まで出来ますか?
 A3に
 =If(Len(A1)>15,Left(A1,15)&Char(10)&Right(A1,Len(a1)-15,"")
 として、書式を「折り返して全体を表示」では?

 (seiya)

ごめんなさい(汗)
条件付書式では折り返しの設定は無かったみたいですね。
確認不足ですみません。m(__)m(左玉)

左玉さんseiyaさんありがとうございます。
seiyaさんの関数入力してみたんですがこの関数に対して
因数が大きすぎますというようなエラーメッセージが出てしまいました。

 「引数が多すぎます」ですね?
 )が一つ抜けていました。失礼しました。

 =If(Len(A1)>15,Left(A1,15)&Char(10)&Right(A1,Len(A1)-15),"")

 (seiya)


いろいろとすみません。セルA3に表示上は何も出てこないのですが
seiyaさんは出てきてますか?

 A1に16文字以上入力されていれば、A3に表示されると思いますが?
 (seiya)

16文字以上で表示確認できました!ありがとうございます。
それで15以下だったら縮小して全体表示ってのは出来ないのでしょうか?

 ああ、そういう意味だしたか....

 =If(Len(A1)>15,Left(A1,15)&Char(10)&Right(A1,Len(A1)-15),A1)

 に変えてください。

 (seiya)

 横から、失礼します^^
 
 書式をデータによって変える方法は「条件付書式」しかないと思います。
 今回の場合は「条件付書式」では出来ませんので、マクロになると思います。
 (もっとも、15桁以下を縮小する必要があればですが。。。)
 
 シートモジュールへ
'-------------
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count <> 1 Then Exit Sub
    If Target.Address(0, 0) <> "A1" Then Exit Sub
    With Range("A3")
        .Value = Target
        Select Case Len(.Value)
            Case Is <= 15
                .WrapText = False
                .ShrinkToFit = True
            Case Else
                .WrapText = True
                .ShrinkToFit = False
        End Select
    End With
End Sub
 
 \Sheet1/
  ↑ココを右クリック → コードの表示
  出てきた画面に、上記コードをコピペ
 
 細かな処理はしていません。
 (書式を戻したりなど)

 (キリキ)(〃⌒o⌒)b

 下から失礼します。
seiyaさんの数式 ↓ がA3にすでに入力済みと仮定します。
 =If(Len(A1)>15,Left(A1,15)&Char(10)&Right(A1,Len(A1)-15),"")
 
任意のセルを作業セルとします。
作業セルのサイズ、表示形式をA3セルと同じにし、配置の「縮小して全体を表示する」にチェック。
次の数式を入力。
=IF(LEN(A1)<=15,A1,"")
このセルをコピーしてA3を選択、Shiftを押しながらメニューの編集をクリック。
「図のリンク貼り付け」を選択してリンク図を貼り付けます。
 
リンク図オブジェクトは数が多いとファイル容量や計算速度を圧迫します。
多用は禁物。
(みやほりん)(-_∂)b


 Hummmmm....
 もともと15文字で改行して訳なので、15文字は表示できると....

 (seiya)


 半角カタカナの濁音、半濁音はどうなるのかなぁ?
 この変をどう処理したいのかわからんけど、15文字とか文字数合わせて
 きちっと処理できるのかなぁ?ちょっと楽しみ。
 BJ

 たくさんのご意見ありがとうございます。
ちなみに何に使うのかと言うと、会社の文書ファイルが何百冊とあるのでそのファイルの背表紙を自動で作るマクロを作ろうと思っていて。
背表紙に横書きでタイトルや内容の文字を書いたときにある程度のフォントサイズまでは1行表示にして。
文字数が多くあまりにもフォントが小さくなってしまう場合には折返して表示にしたいと思っています。
早速キリキさんのマクロを使ってみたいと思います。ありがとうございます。

 >半角カタカナの濁音......
 なるほど...

 殆ど、日本語を操作しないので全く考慮していませんでした...

 (seiya)

キリキさんのマクロをそのまま再生してみましたら 
コンパイルエラーでEnd subが必要です。ってのが出ました。End subはあるのに。どーしたら良いのでしょうか?

 >キリキさんのマクロをそのまま再生してみましたら 
 >コンパイルエラーでEnd subが必要です。ってのが出ました。
 そのままとは、どういうことでしょう?
 σ(^o^;)のものは、上にも書いてありますが
 シートモジュールへ、記入していただくものになっております。
 
 過去ログ検索しましたので、ご参照ください。
http://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=End+sub%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99&perpage=10&attr=@uri+STRINC+kazuwiki&order=@uri+STRD&clip=-1
 
 (キリキ)(〃⌒o⌒)b

コメント返信:

[ 一覧(最新更新順) ]


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