0
ユーザーにフォームの表示に従って、特定のシートを削除するために少しずつ作業しています。ユーザーは、リストボックスに保持するシートを選択します。コードは、リストボックス内のすべてのシートをループし、選択されていないシートを削除します。 しかし、フォームを実行していると私はオートメーションエラーしまったボタンをクリックしてください:シートを削除する際のオートメーションエラー
実行エラー「-2147417848(80010108):呼び出さ オートメーションエラー オブジェクトが
Private Sub Button_Export_Click()
Application.DisplayAlerts = False
For i = 0 To PSV_Case_List.listCount - 1
If Not PSV_Case_List.Selected(i) Then
Worksheets(PSV_Case_List.List(i)).Delete
End If
Next i
Application.DisplayAlerts = True
End Sub
を切断しましたこのメッセージの後、Excelがフリーズし、プロセスを終了する必要があります。
ありがとうございます!
私はこれを試しても動作しません。実際には、PSV_Case_List.List(i)にはシートの名前が含まれているため、シートを削除すると影響を受けません。これはリストボックスの内容であるためです。あなたの助けをありがとう – Rowin
フォームを閉じた後に配列に保存してから削除しようとしましたか?フォームを開いてスーパースタートシートを選択し、OKをクリックしてフォームを閉じ、アレイリスト内のすべてのシートを削除します。多分フォームを開いたままで削除すると、フォームが消えて「オブジェクトが切断されます」。その場合は、マクロが失敗したときにだけデバッグできます。 – exSnake