教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セル幅(列幅)を最適化(AutoFit)するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Columns("列範囲").AutoFit

解説

AutoFitメソッドは、セル内のコンテンツに応じてセルの幅を自動的に調整してくれます。Worksheetのシート名には、セルの幅を自動調整したいシートの名前を指定します。Columnsの列範囲には、セルの幅を自動調整したい列の範囲を指定します。例えば、A列からC列までを調整したい場合は、「A:C」と指定します。

使い方

具体的な使い方を紹介します。

Sub AutoFitColumnWidth()
    Worksheets("Sheet1").Columns("A:C").AutoFit
End Sub

上記はA列からC列までの幅を自動調整します。

プログラミング例

以下に、プログラミング例を紹介します。

Sub ExampleAutoFit()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    ' セルにテキストを入力
    ws.Range("A1") = "これは長いテキストです。"
    ws.Range("B1") = "Excel VBAを学ぶのは楽しいです。"
    ws.Range("C1") = "自動調整を使ってみましょう!"
    ' A列からC列までの幅を自動調整
    ws.Columns("A:C").AutoFit
End Sub

このコードを実行すると、A列からC列に入力したテキストに合わせて、各列の幅が自動的に調整されます。

まとめ

AutoFitメソッドを使うことで、セルに収められているコンテンツに合わせて列の幅を自動調整することができます。テキストや数値がセルからはみ出してしまう問題を簡単に解決できるので、是非活用してください。