0
リストボックスから選択したシートを削除しようとしています。シート名を表示するmsgboxコマンドは正しいですが、私は以下のようなエラーが出るようです:シートの削除中にエラーが発生しました。ランタイムエラー1004:範囲クラスの削除メソッドが失敗しました
ランタイムエラー1004:範囲クラスの削除メソッドが失敗しました。
ここに私のコードです。
If ListBox2.Selected(i) Then
Worksheets(ListBox2.List(i)).Unprotect "asdf"
Worksheets(ListBox2.List(i)).Delete
MsgBox ListBox2.List(i)
sht = ListBox2.List(i) + "_Graph"
Worksheets(sht).Unprotect "asdf"
MsgBox sht
Worksheets(sht).Delete
Worksheets("Report").Rows(ListBox2.ListIndex + 2).Delete
MsgBox "KC " + ListBox2.List(i) + " Removed!"
End If
あなたは 'delete'メソッドを使う3行を持っていて、どの行が失敗しているのかを教えてもらえませんでした。最後のコマンドは' msgbox'コマンドです..... msgboxコマンドが正しいシート名を表示しているので、コード中の 'delete'メソッドのどれも失敗しているわけではありません。 ...あなたの問題は他の場所にあります – jsotola
問題は最後の2行目にあります。そこに 'Range'オブジェクトに対して' Delete'メソッドを使用しています。 –
"レポート"シートのオートフィルタまたはシートプロテクションはありますか? –