【VBA】Excelの文字切れ対策

Excelの文字切れ対策。

以下、簡易な方法。万能ではないが。


①一度MSゴシックにしてフォントサイズでかくする 。
②オートフィットしてから行幅を1.2倍(任意)する。(+15など行幅を足しても良い)
③任意のフォントに戻す。


Sub 文字切れ対策()
    Dim baseFontName As String, baseFontSize, i, maxrow, newrowheight As Integer
    
    '設定フォント
    baseFontName = "Arial" '-- 任意です。対象シートで使用しているフォント。
    baseFontSize = 9 '-- 任意です。対象シートで使用しているフォントサイズ。
    
    Cells.Select
    Cells.Font.Name = "MSゴシック" '--遊ゴシックあればそっちの方が良いかも。
    Cells.Font.Size = baseFontSize + 1
    
    maxrow = 100 '--最大行数入れてください。
    Rows.AutoFit
    For i = 1 To maxrow
newrowheight = Int(Rows(i).RowHeight * 1.2) '--更新する行幅。1.2倍にしてるけど。+15とかでもよい。 If newrowheight > 405 Then '-- 行幅の限界を超えないかチェック。実際409くらいが限界のようだが405にしている。 Rows(i).RowHeight = 405 Else Rows(i).RowHeight = newrowheight End If Next i Cells.Font.Name = baseFontName Cells.Font.Size = baseFontSize End Sub

というやり方。

いったんMS〇〇にするのがポイント。

(最近登場した游ゴシックの方が文字がデカそうなので、游ゴシックの方が良いかも)

 

そして、オートフィットした後に1.2倍(任意)にいじくることで、フォントを戻しても行幅を保つ。

セル結合があるとオートフィットがうまくいかないときがあるのでそこは注意。

 

後は行幅の最大の考慮でif文を入れてる。

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。