Sponsored Links
こんにちは!Lenocoです。本日も見てくださりありがとうございます。
今回は「AutoFit」でセルの内容に合わせて行の高さを調整したいけど、
**今の高さより小さくはしたくない!**という時に使えるマクロをご紹介します!
Sponsored Links
こんな時ありませんか?
Excelでテキストが長くなると、行の高さを AutoFit で調整したくなりますよね。
でもこの AutoFit、実は高さを縮めてしまうことがあります。
行の高さを“縮めない”AutoFitとは?
今回作るマクロは、
「AutoFitで高さは広げてもいいけど、今より小さくはしない」
というルールをもとに動きます。
▼考え方としてはこんな感じ
1. 各行の今の高さを一旦メモ
2. AutoFit を実行して高さを測定
3. もし AutoFit 後の高さが今より低ければ → 元の高さに戻す
4. 高ければそのまま採用
では見ていきましょう!
コード
Sub AutoFitRows(rng As Range)
Dim r As Range
Dim originalHeight As Double
For Each r In rng.Rows
originalHeight = r.RowHeight ' 元の高さを保存
r.AutoFit ' AutoFit 実行
' 高さが小さくなっていたら、元に戻す
If r.RowHeight < originalHeight Then
r.RowHeight = originalHeight
End If
Next r
End Sub
コードの説明
引数で受け取ったセル範囲を1行ずつループで見ていきます。
まず元の高さをDouble型の変数に保存しておきます。
(Double型は小数点を含む数値を格納できますよ!)
AutoFitを実行して、行の高さを調整をします。
保存しておいた元の行の高さと、今現在の行の高さを比べて、
小さくなっていたら元の高さに戻します。
そうでなければ、何もしません(調整された行の高さを維持します)。
おわりに
今回のマクロは、見た目を保ちつつデータがはみ出ないようにしたい時にとっても便利です!
「AutoFitは使いたいけど、勝手に縮められたくない…」という方におすすめ!
ぜひ使ってみてください!![]()
Lenoco
Sponsored Links