小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VBAシート初期化時のプロパティ解説

VBAでの初期化処理等でシートをクリアする場合、全セルを選択し(Cells.Select)、セルの値やプロパティをクリアします。

クリアには、値・数式(ClearContents)、書式(ClearFormats)、コメント(ClearComments)毎のクリアと3つ一緒(Clear)にクリアの方法があります。また、グラフのオブジェクトを削除する場合は、ChartObjects.Deleteを使用します。ちなみに、この場合のコメントとは、セルの右クリックメニューのコメントの挿入で書き込んだコメントのことです。

    '全セルを選択
    ActiveSheet.Cells.Select
    '値・数式クリア
    Selection.ClearContents
    '書式クリア
    Selection.ClearFormats
    'コメントクリア
    Selection.ClearComments
    '値・数式、書式、コメントを一緒にクリア
    Selection.Clear
    'グラフのオブジェクトがある場合は、それを削除する。
    If ActiveSheet.ChartObjects.Count <> 0 Then
       ActiveSheet.ChartObjects.Delete
    End If

つぎに、セル幅を設定し、その中に表示するデータが長い文字列の場合など、複数行に表示する時はWrapTextを使い、文字を小さくしてセル幅にフィットさせる場合はShrinkToFitを使います。

ただし、ShrinkToFitは、ブック自体をHTMLで保存した場合は、無効になりますので注意が必要です。ちなみに、 WrapTextは、HTMLでも有効です。

    'セル幅を設定する。
    ActiveSheet.Columns("A:C").ColumnWidth = 60
    ActiveSheet.Columns("A:C").WrapText = True
    ActiveSheet.Columns("A:C").ShrinkToFit = True