教えて!ExcelVBA!

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

【ExcelVBA セル操作】文字列幅をセル幅に合わせる(ShrinkToFit)にはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Range("セル範囲").ShrinkToFit = True / False

解説

ShrinkToFitプロパティは、セルに収めたいテキストがセルのサイズに合わない場合、自動的にテキストのサイズを縮小して収めることができます。Worksheetsのシート名には、対象のセルにShrinkToFitプロパティを適用したいシートの名前を指定します。Rangeのセル範囲には、テキストのサイズを自動的に縮小したいセルの範囲を指定します。例えば、A1セルからB5セルまでを対象とする場合は、「A1:B5」と指定します。Trueを指定すると自動的にサイズを縮小し、Falseを指定すると縮小はしません。

使い方

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

Sub ApplyShrinkToFit()
    Worksheets("Sheet1").Range("A1").ShrinkToFit = True
End Sub

上記はコードでA1セルのテキストのサイズを縮小してセルに収めます。

プログラミング例

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

Sub ExampleShrinkToFit()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    ' セルに長い文章を入力
    ws.Range("A1") = "これはとても長い文章です。ShrinkToFitを使ってコンパクトに表示します。Excel VBAを学ぶのは楽しいです。"
    ' A1セルにShrinkToFitを適用
    ws.Range("A1").ShrinkToFit = True
End Sub

このコードを実行すると、A1セルに入力した長い文章が自動的に縮小されてコンパクトに表示されます。

まとめ

ShrinkToFitプロパティを使うことで、セルに収めたいテキストのサイズを自動的に縮小できます。長いテキストをコンパクトに表示して、セル内の情報をスッキリと見やすくします。是非活用してください。