まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】セル幅(列幅)を最適化する(AutoFit)にはどうすればいいの?教えて!

       f:id:m_kbou:20190823081529p:plain

セル幅を最適化する方法について説明します。選択しているセル幅を各列の最長データに合わせた最適化を行います。確認する際は、予め長短様々なデータを入力してから実行して見て下さい。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Columns(”[列範囲]”).AutoFit

=======================================================================

[説明]:

[列範囲]には、セル幅(列幅)を最適化する列範囲を記述します。[列範囲]は「”」(ダブルクォーテーション)で囲みます。指定した[列範囲]を最適化するには、AutoFitプロパティを記述します。内容を纏めると、「[列範囲]で指定した列範囲の列幅を最適化して下さい。」との意味になります。

[記述例]:

Columns("A:C").AutoFit
Cells.Columns.AutoFit

 

使い方

使い方について、具体的に説明していきます。

特定の列範囲セル幅を最適化する方法

特定の列範囲セル幅を最適化する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Columns("A:C").AutoFit
    MsgBox "列幅を最適化しました。"
End Sub

-------------------------------------------------

内容は、「A列~C列に対して列幅を最適化し、最後にMsgBoxで”列幅を最適化しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セル~C3セルにデータが入力されています。

f:id:m_kbou:20190823081550p:plain

・実行後

※A列~C列に対して列幅を最適化した後、”列幅を最適化しました。”のメッセージが表示されます。

f:id:m_kbou:20190823081604p:plain

特定の列範囲セル幅を最適化する方法についての説明は以上です。

 

全ての列範囲セル幅を最適化する方法

全ての列範囲セル幅を最適化する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Cells.Columns.AutoFit
    MsgBox "列幅を最適化しました。"
End Sub

-------------------------------------------------

内容は、「全ての列幅を最適化し、最後にMsgBoxで”列幅を最適化しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

※複数列にデータが入力されています。

f:id:m_kbou:20190823081632p:plain

・実行後

※全ての列幅を最適化した後、”列幅を最適化しました。”のメッセージが表示されます。

f:id:m_kbou:20190823081647p:plain

全ての列範囲セル幅を最適化する方法についての説明は以上です。

  

おわりに

今回は、セル幅を最適化する方法について説明しました。類似内容に文字列幅をセル幅に合わせる方法があります。一緒に覚えておく事をお勧めします。