大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、シートをクリアするには、「.ClearContents」「.Delete」「.Clear」「.DrawingObjects.Delete」を使います。値のみのクリアや、シートの初期化、範囲を指定してクリアする方法がわかります。シートのクリア方法について、マスターしていきましょう。

はじめに

この記事では、シートをクリアする方法について、ご紹介します。

シートをクリアする方法は、次のようになります。

  • シートの値のみをクリア:「.ClearContents」
  • シートを初期化:「.Delete」
  • オートシェイプを削除:「.DrawingObjects.Delete」
  • 範囲を指定して値のみクリア:「セル範囲.ClearContents」
  • 範囲を指定してシートをクリア:「セル範囲.Clear」
  • 2行目以降をシートクリア:「2行目以降のセル範囲.Clear」
  • シートを指定してクリア:「特定シート.Cells.Delete」

場面に応じて、シートをクリアできるようにマスターしていきましょう。

では、シートをクリアする方法について、解説していきます。

この記事を読むメリット

  • 場面に応じてシートをクリアする方法をマスターできます。

目次から見たい項目へ移動すると便利ですよ。

目次

シートをクリアする

シートをクリアしてみます。

次のとおり、シートをクリアしてみます。

  • 値のみをクリア
  • シートを初期化
  • オートシェイプを削除
  • シートを完全にクリア

では、それぞれをやってみます。

値のみをクリア(.ClearContents)

値のみをクリアするには、「.ClearContents」を使います。

Sub TEST1()
  
  '値のみをクリア
  Cells.ClearContents
  
End Sub

では、実行してみます。

値のみをクリア

値のみをクリアしてみます。

値のみをクリアしてみます

値のみをクリアできます。

値のみをクリアできました

値のみをクリアできました。

シートを初期化(.Delete)

シートを初期化するには、「.Delete」を使います。

シートを初期化

シートを初期化するVBAコードです。

Sub TEST2()
  
  'シートを初期化
  Cells.Delete
  
End Sub

シートを初期化してみます。

シートを初期化してみます

実行してみます。

シートを初期化できました

シートを初期化できました。

フィルタ結果は残っちゃう

シートを初期化する際に、オートフィルタでフィルタされている場合は、注意が必要です。

Sub TEST3()
  
  'シートを初期化
  Cells.Delete
  
End Sub

フィルタしている場合は、フィルタしていた値が残ってしまいます。

フィルタしている場合は、フィルタしていた値が残ってしまいます

実行してみます。

フィルタしている値が残っちゃいました

フィルタしている値が残っちゃいました。

オートフィルタを解除してシートを初期化

シートを初期化する際は、オートフィルタを解除してから、シートを初期化するといいです。

Sub TEST4()
  
  'オートフィルタを解除
  If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
  'シートを初期化
  Cells.Delete
    
End Sub

オートフィルタを解除して、シートを初期化します。

オートフィルタを解除して、シートを初期化します

では、実行してみます。

フィルタされている場合でも、シートを初期化できました

フィルタされている場合でも、シートを初期化できました。

オートシェイプを削除(.DrawingObjects.Delete)

オートシェイプを削除するには、「.DrawingObjects.Delete」を使います。

Sub TEST5()
  
  'オートシェイプを削除
  ActiveSheet.DrawingObjects.Delete
  
End Sub

では、実行してみます。

オートシェイプを削除

オートシェイプを削除してみます。

オートシェイプを削除してみます

オートシェイプを削除できます。

オートシェイプを削除できました

オートシェイプを削除できました。

シートを完全にクリア(.Deleteと.DrawingObjects.Delete)

シートを完全にクリアしてみます。

「.Delete」と「.DrawingObjects.Delete」の両方を実行するという感じです。

Sub TEST6()
  
  'フィルタを解除
  If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
  'シートを削除
  Cells.Delete
  'オートシェイプを削除
  ActiveSheet.DrawingObjects.Delete
  
End Sub

では、実行してみます。

シートを完全にクリア

シートを完全にクリアしてみます。

シートを完全にクリアしてみます

実行すると、シートを完全にクリアできます。

シートを完全にクリアできました

シートを完全にクリアできました。

範囲を指定してシートをクリア

範囲を指定してシートをクリアしてみます。

次のとおりシートをクリアしてみます。

  • 範囲を指定して値のみをクリア
  • 範囲を指定してシートを初期化
  • 2行目以降のシートをクリア

では、それぞれやってみます。

範囲を指定して値のみをクリア(.CelarContents)

範囲を指定して、「.CelarContents」を使って、値のみをクリアしてみます。

Sub TEST7()
  
  '範囲を指定して、値のみをクリア
  Range("A1:B3").ClearContents
  
End Sub

実行してみます。

範囲を指定して、値のみをクリア

範囲を指定して、値のみをクリアしてみます。

範囲を指定して、値のみをクリアしてみます

範囲を指定して、値のみをクリアできます。

範囲を指定して、値のみをクリアできました

範囲を指定して、値のみをクリアできました。

範囲を指定してシートを初期化(.Clear)

範囲を指定して、「.Clear」を使って、シートを初期化してみます。

Sub TEST8()
  
  '範囲を指定して、シートを初期化
  Range("A1:B3").Clear
  
End Sub

では、実行してみます。

範囲を指定して、シートを初期化

範囲を指定して、シートを初期化してみます。

範囲を指定して、シートを初期化してみます

範囲を指定して、シートを初期化できます。

範囲を指定して、シートを初期化できました

範囲を指定して、シートを初期化できました。

2行目以降をシートクリア(.Clear)

2行目以降を、「.Clear」を使って、シートクリアしてみます。

「Range("A2:A" & Rows.Count).EntireRow」で、2行目以降を指定するのがポイントになります。

Sub TEST9()
  
  '2行目以降シートクリア
  Range("A2:A" & Rows.Count).EntireRow.Clear
  
End Sub

では、実行してみます。

2行目以降のシートをクリア

2行目以降のシートをクリアしてみます。

2行目以降のシートをクリアしてみます

2行目以降のシートをクリアできます。

2行目以降のシートをクリアできました

2行目以降のシートをクリアできました。

特定シートをクリア

特定シートをクリアしてみます。

シートを指定して、「.Cells.Delete」を使うという感じです。

シートを指定してクリア

「Sheet2」のシートを指定してクリアするVBAコードです。

Sub TEST10()
  
  '特定シートを初期化
  Sheets("Sheet2").Cells.Delete
  
End Sub

実行してみます。

特定シートをクリア

Sheet2のシートをクリアしてみます。

Sheet2のシートをクリアしてみます

Sheet2のシートをクリアできます。

Sheet2のシートをクリアできました

Sheet2のシートをクリアできました。

おわりに

この記事では、シートをクリアする方法について、ご紹介しました。

シートをクリアする方法は、次のようになります。

  • シートの値のみをクリア:「.ClearContents」
  • シートを初期化:「.Delete」
  • オートシェイプを削除:「.DrawingObjects.Delete」
  • 範囲を指定して値のみクリア:「セル範囲.ClearContents」
  • 範囲を指定してシートをクリア:「セル範囲.Clear」
  • 2行目以降をシートクリア:「2行目以降のセル範囲.Clear」
  • シートを指定してクリア:「特定シート.Cells.Delete」

場面に応じて、シートをクリアできるようにマスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す