大体でIT

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

大体でIT

Excel VBAで、シートを削除するには、「.Delete」を使います。メッセージを非表示にして強制的に削除したい場合は、「Application.DisplayAlerts = False」を使います。エラー回避のため、シートの存在を確認してから削除するといいです。シートの削除方法をマスターしていきましょう。

はじめに

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

シートを削除したい場合は、「.Delete」を使います。

シートを削除するとメッセージが表示されますので、メッセージを非表示にして強制的に削除したい場合は、「Application.DisplayAlerts = False」とします。

存在しないシートを削除するとエラーとなりますので、削除する場合は、シートの存在を確認してから、削除するといいです。

シートの削除方法について、マスターしていきましょう。

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

この記事を読むメリット

  • マクロを止めることなく、シートを削除することができるようになります。

目次

シートを削除する

シートを削除するには、「.Delete」を使います。

「.Delete」でシートを削除

「.Delete」でシートを削除してみます。

Sub TEST1()
  
  'シートを削除
  ActiveSheet.Delete
  
End Sub

VBAコードを実行して、「Sheet1」を削除してみます。

「Sheet1」を削除してみる

「Sheet1」を削除してみます

メッセージが表示されちゃいます。

メッセージが表示される

メッセージが表示されるので、削除をクリックします

削除をクリックすると、「Sheet1」を削除できます。

「Sheet1」を削除できた

「Sheet1」を削除できました

「Sheet1」を削除できました。

毎回メッセージがでちゃうとクリックするのが面倒なので、強制的にシートを削除できるようにします。

メッセージを表示さず強制的に削除

メッセージを表示せず、強制的に「Sheet1」を削除してみます。

メッセージを表示せずシートを削除したい

メッセージを表示せず、強制的に「Sheet1」を削除してみます

メッセージを表示さず強制的に削除するには、「Application.DisplayAlerts = False」とします。

Sub TEST2()
  
  Application.DisplayAlerts = False 'メッセージを非表示
  ActiveSheet.Delete 'シートを削除
  Application.DisplayAlerts = True 'メッセージを表示
  
End Sub

シートを削除し終わったら、メッセージは表示したいので、「True」に設定し直しておきます。

では、実行してみます。

メッセージを表示しないでシートを削除できた

「Sheet1」を削除できました

メッセージを表示しないで、「Sheet1」を削除できました。

1シートは残す必要がある

エクセルでは、1シートは残す必要があります。

1シートの場合で、シートを削除するとエラーとなってしまいます。

やってみます。

1シートの場合でシートを削除してみる

1シートの場合で、シートを削除してみます

シートを削除するVBAコードです。

Sub TEST3()
  
  Application.DisplayAlerts = False 'メッセージを非表示
  ActiveSheet.Delete 'シートを削除
  Application.DisplayAlerts = True 'メッセージを表示
  
End Sub

実行してみます。

エラーになる

エラーとなります

エラーとなりました。

シートを削除する際は、1シートは残すようにしましょう。

条件に一致するシートを削除

条件に一致するシートを削除するというのをやってみます。

シートが存在する場合に削除

存在しないシートを削除すると、エラーとなってしまいます。

ちょっとやってみます。

存在しないシート「Sheet4」を削除してみます。

存在しないシートを削除してみる

存在しないシート「Sheet4」を削除してみます

「Sheet4」を削除するVBAコードです。

Sub TEST4()
  
  '存在しないシートを削除
  Sheets("Sheet4").Delete
  
End Sub

実行してみます。

エラーとなります

エラーとなりました。

シートを削除する際は、シートが存在するかを確認して、削除するといいです。

シートの存在を確認してシートを削除

シートの存在を確認して、シートを削除してみます。

シートの存在を確認して、シートを削除してみます

シートの存在を確認して、シートを削除するVBAコードです。

Sub TEST5()
  
  Dim A
  For Each A In Sheets
    'シートが存在する場合
    If A.Name = "Sheet2" Then
      Application.DisplayAlerts = False
      A.Delete 'シートを削除
      Application.DisplayAlerts = True
    End If
  Next
    
End Sub

実行すると、エラーを回避して、シートを削除できます。

シートを削除できました

シートを削除できました。

部分一致したシートを削除

シート名を部分一致で検索して、シートを削除してみます。

部分一致でシートを削除したい

シート名を部分一致で検索して、シートを削除します

シート名を部分一致で検索して、シートを削除するVBAコードです。

Sub TEST6()
  
  Dim A
  For Each A In Sheets
    'シート名に「2」を含む場合
    If InStr(A.Name, "2") > 0 Then
      Application.DisplayAlerts = False
      A.Delete 'シートを削除
      Application.DisplayAlerts = True
    End If
  Next
  
End Sub

実行すると、「2」を含む「Sheet2」を削除することができます。

シートを削除できた

シートを削除できました

「Sheet2」のシートを削除できました。

おわりに

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

シートを削除したい場合は、「.Delete」を使います。

シートを削除するとメッセージが表示されますので、メッセージを非表示にして強制的に削除したい場合は、「Application.DisplayAlerts = False」とします。

存在しないシートを削除するとエラーとなりますので、削除する場合は、シートの存在を確認してから、削除するといいです。

シートの削除方法について、マスターしていきましょう。

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

関連する記事から探す

カテゴリから探す

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

サイト内を検索する

↓キーワードを入力する

アーカイブから探す