まさ工房

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

【Excelマクロ・VBA】文字列幅をセル幅に合わせる(ShrinkToFit)にはどうすればいいの?教えて!

       f:id:m_kbou:20190823103543p:plain

文字列幅をセル幅に合わせる方法について説明します。文字列幅をセル幅に合わせるにはShrinkToFitプロパティを使用します。セル幅が狭い状況で文字列をセル幅に合わせようとすると、入力されている文字列が見えにくくなります。予め注意して下さい。

 

【目次】

 

構文

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

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

Cells.Columns.ShrinkToFit = True

Cells.Columns.ShrinkToFit = False

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

[説明]:

文字列幅をセル幅に合わせるには、ShrinkToFitプロパティを記述します。Cells.Columnsは全セル列を選択する事を意味します。Trueを指定すると指定した文字列幅がセル幅に変更され、Falseを指定すると文字列幅が元に戻されます。内容を纏めると、「文字列幅をセル幅に合わせて下さい。又は元に戻して下さい。」との意味になります。

 

使い方

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

文字列幅をセル幅に合わせる方法

文字列幅をセル幅に合わせる方法について説明します。

[記述例]:

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

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

Sub サンプル()
    Cells.Columns.ShrinkToFit = True
    MsgBox "文字列をセル幅に合わせました。"
End Sub

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

内容は、「全セル列を選択して文字列幅をセル幅に変更し、最後にMsgBoxで”文字列をセル幅に合わせました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セル~E4セルにデータが入力されています。(C列やE列はセル幅に文字列が収まり切らない状態です)

f:id:m_kbou:20190823103612p:plain

・実行後

※文字列幅をセル幅に変更後、”文字列をセル幅に合わせました。”のメッセージが表示されます。(C列やE列の文字列がセル幅収まりました)

f:id:m_kbou:20190823103629p:plain

文字列幅をセル幅に合わせる方法についての説明は以上です。

 

セル幅に合わせた文字列幅を元に戻す方法

セル幅に合わせた文字列幅を元に戻す方法について説明します。

[記述例]:

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

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

Sub サンプル()
    Cells.Columns.ShrinkToFit = False
    MsgBox "セル幅に合わせた文字列を元に戻しました。"
End Sub

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

内容は、「セル幅に合わせた文字列幅を元に戻し、最後にMsgBoxで”セル幅に合わせた文字列を元に戻しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セル~E4セルにデータが入力されています。(C列やE列の文字列がセル幅に合わせた大きさとなっています)

f:id:m_kbou:20190823103643p:plain

・実行後

※文字列幅を元の大きさに戻した後、”セル幅に合わせた文字列を元に戻しました。”のメッセージが表示されます。(C列やE列の文字列がセル幅を無視した大きさ(元の大きさ)に戻されました)

f:id:m_kbou:20190823105722p:plain

セル幅に合わせた文字列幅を元に戻す方法についての説明は以上です。

  

おわりに

今回は、文字列幅をセル幅に合わせる方法について説明しました。類似内容としてセル幅(列幅)を文字列に合わせて最適化する方法もあります。是非一緒に覚えておいて下さい。