- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストボックスからシート選んで削除したい)
リストボックスからシート選んで削除する方法
このQ&Aのポイント
- Excel2007でマクロ作成中の初心者です。リストボックスから選択されたシートを削除するためのマクロを実行しているのですが、最終行でコンパイルエラーが発生し、削除ができません。削除できる方法を教えてください。
- Excel2007でマクロを作成している初心者です。リストボックスから選択されたシートを削除するためのマクロを実行していますが、実行時に「参照が不正または不完全です」というエラーメッセージが表示されて削除できません。削除方法を教えてください。
- Excel2007でマクロを作成している初心者です。リストボックスから選択されたシートを削除するためのマクロを実行していますが、最終行でコンパイルエラーが発生し、「参照が不正または不完全です」と表示されてしまいます。どうすれば削除できるでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
だって.ListIndex があるのに With~End Withの外に出ちゃっているじゃないですか。。。 Worksheets(Split(.list(.ListIndex - 0), " ")(1)).Delete ' End With 'この位置にいれないと。。。 End Sub
お礼
もう一度やりなおしましたら、できました。ありがとうございました。
補足
申しわけございません。以下のマクロ実行で 「インデックスが有効範囲にありません」エラーがでます。 エラーが出ない用にしたいです。 Private Sub 顧客削除_Click() Dim i As Integer Dim btn Dim name As String With 顧客リスト For i = 0 To .ListCount - 1 If .Selected(i) Then name = .list(i) '選択されたリストを変数に格納 btn = MsgBox("本当に、" & name & "さんを削除していいですか?", _ vbYesNo + vbQuestion, "削除の確認をする") End If Next i ActiveWorkbook.Sheets(name).Delete 'Worksheets(Split(.list(.ListIndex - 0), " ")(1)).Delete ' End With If btn = vbNo Then Exit Sub End If End Sub