2017-04-20 6 views
2

このコードをクリックすると、6枚以上のシートがすべて削除されます。X枚のシートの後にすべてのワークシートを削除

それは、しかし、私はその後

Private Sub UnloadButton_Click() 

    Do While Worksheets.Count > 5 
     Application.DisplayAlerts = False 
     Worksheets(6).Delete 
     Application.DisplayAlerts = True 
    Loop 

    End Sub 

同様の質問「ワークシートのクラスのメソッドが失敗した削除」エラーを取得しています、私はすべてのシートまたは名前付きシートを削除したい見ていると私は本当にためにそれらを適応させることができなかった作品

この。

シート6がなくなったときにシート6を削除しようとしていたと思われましたが、シートカウントが5になると、別のループがトリガーされません。デビッド・Gへ

+2

コードが私に役立ちます。 – YowE3K

+1

私のためにも働きます。 – Mrig

+0

はい、まったく新しいシートで試してみるとうまくいきます。私はオリジナルに隠されたシートを持っていません。他の可能性は? – Aurelius

答えて

1

おかげ

私は私のコードが実際に実際に隠されたシートを削除しようとしていたとして、最初に削除する。

重要な教訓を他のユーザーのシートで作業する際に必要な3「非常に隠された」シートを持っていました、非常に非表示のシートを確認してください。

1

あなたの問題は、あなたがあなたの元のコードでも

以下のようにループさせずにシートを削除することができVeryHiddenノートでしたが、あなたはを移動示唆ループ外にがあります。

If Worksheets.Count > 5 Then 
     Application.DisplayAlerts = False 
      Sheets(Application.Transpose(Application.Evaluate("=ROW(6:" & Sheets(Sheets.Count).Index & ")"))).Delete 
     Application.DisplayAlerts = True 
    End If 
関連する問題