セルに数値を入れる時、列幅が足り無いと「###」と表示されることがよくあったりしますよね。今日は、全ての数値を表示されるように列幅自動調整するワザを見ていきましょう。

 

 

「###」が表示されていたら列幅を調整

 

Sub test()

 

    Dim R As Range

 

    For Each R In Range("A3:F13")
        With R

     ’ エラー値かを判定する

            If IsError(.Value) = False Then

       ’ 文字列以外・左1文字が「#」である時

                If .Value <> .Text And Left(.Text, 1) = "#" Then

         ’ 列幅を自動調整する 

                    .EntireColumn.AutoFit
                End If
            End If
        End With
    Next

End Sub

 

実行結果

 

 

「#」で始まる文字列(?)のなか、「#N/A」「#NAME」などエラー値も含まれています。

まずIsError関数で、セルの値を事前に判断しておくことが必要ですよね。

そこから、文字列ではなく、左1文字が「#」であれば、当該列の幅を自動調整してもらいます。

testなかのRange("")の範囲を変えれば、今日実務作業でも活用できそうですね。

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る