Excelの行の高さをマクロ操作する注意点


Excelの行の高さは最大で409(ポイント)なので
それを超えるとエラーでマクロが止まってしまう

409を越えてないかチェックしたほうがいいっぽい


例)行の高さを一定数広げるマクロ

Option Explicit

' ==================================================
' ■行の高さを広げる
' ==================================================
Sub mcrRowHeigthPlus()

    Dim i               As Long
    Dim mySheetActive   As Worksheet

    Set mySheetActive = ThisWorkbook.ActiveSheet

    ' マクロ処理を画面表示しない
    Application.ScreenUpdating = False

    ' 1行目から最終行まで処理対象
    For i = 1 To mySheetActive.Cells(1, 1).End(xlDown).Row
        ' 【エラーチェック】(394より大きいと409超えてエラーになる)
        If mySheetActive.Rows(i).RowHeight > 394 Then
            ' とりあえず一番大きくする
            mySheetActive.Rows(i).RowHeight = 409
        Else
            ' 15広げる
            mySheetActive.Rows(i).RowHeight = mySheetActive.Rows(i).RowHeight + 15
        End If
    Next i

    ' 画面表示を戻す
    Application.ScreenUpdating = True

End Sub


Excelを印刷すると、予想外に文字が折り返すことがあるので
折り返しても文字が切れないように1行分広げてくれるはず

      • -

2010/06/10追記:

Excelで長い文章を入力すると、印刷するとき行が切れてしまうこ… - 人力検索はてな


調べてみると先人の教えがありました
文字数とフォントサイズで行の高さ計算するとか凄い


個人的には、行の高さ自動整列+1行分追加で十分満足