Sheet5から最後のシートまでのすべてのシートを削除しようとしましたが、ランタイムエラーサブスクリプトが範囲外です。excel vba delete sheetランタイムエラーsubscript out of range
Dim x as Long
For x = 5 To ThisWorkbook.Worksheets.Count
Application.DisplayAlerts = False
ThisWorkbook.Sheets(x).Delete
Application.DisplayAlerts = True
Next
結果は削除されましたが、Sheet5、Sheet7、Sheet9のみでしたが、Sheet6とSheet8はまだそこにありました。グレーのデバッグボタンと私はどこにエラーがあるのだろうか。 これに苦労し続けることができないため、助けてください。 ありがとうございます!
のうち添え字が追加されるために、VBAます'Sheet'がその位置にあるかどうかを削除します。したがって、' Sheets'がシャッフルされたり、名前が付けられたりすると、 'Sheet'が' 5'の位置にあるものを始めとして削除します。 – DragonSamu
@daZzaに感謝しています。私はSheet5を削除した後にはわかりませんでした。Sheet5はSheet5になりますので、ループメソッドを使用してSheet5を削除する必要があります。 –
真実、私はそこに複雑に思った:P – daZza