kaketo

普通の日記、ゲームの日記、ゲーム開発の日記、その他色々書いていきます。

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

Excelの列結合セルで行の高さを自動調整(マクロ無し)

2012-06-08 01:53:33 | 技術とか
Excelで資料作成している時、列結合しているセルで改行してしまうと
行高さの自動調整が機能してくれず1行の高さになったりしてしまう。




この解決方法はないのか?
マクロ使えばなんとかできそうだが、そこまでやりたくない。
マクロ使わず色々試行錯誤した結果。解決方法が見つかった。



1.E3 に下の計算式を入れる
 =REPT("a"&CHAR(10)&"b",LEN(B3)-LEN(SUBSTITUTE(B3,CHAR(10),"")))
2.E3のセル書式に「折り返して全体を表示する」をONにする
3.3行と4行の区切りで高さ調整できるところダブルクリックで自動調整

E3は列結合していないため、自動高さ調整が機能した。
(表示したくない場合は非表示設定や横幅小さくするなど対処)

計算式を分解した場合

1.改行コードを除いた文字を求める
 =SUBSTITUTE(B3,CHAR(10),"")
2.改行コードを除く前と、除いた後の文字数を比較
 これにより改行の数が求めれる
 =LEN(B3)-LEN(E3)
3.列結合していないセルに、改行の数だけ改行させる
 (abは分かりやすくするため記述、無くても問題なし)
 =REPT(CHAR(10),E5)

応用すると、複数のセルにも対応できる

画像にもあるように、改行コードが無い(Alt+Enterしていない)場合は失敗する。

好みによるが
=REPT("a"&CHAR(10)&"b",LEN(B3)-LEN(SUBSTITUTE(B3,CHAR(10),""))+1)
(最後に+1追加)
にすると自動高さ調整で詰まった感じが緩和する。
コメント   この記事についてブログを書く
« 電気補完計画_110327 | トップ | ISW13F購入 »
最近の画像もっと見る

コメントを投稿

技術とか」カテゴリの最新記事

関連するみんなの記事