dポイントプレゼントキャンペーン実施中!

お世話になります
指定したシート以外すべてのシートを削除させるボタンを作成したいのですが
↓こんなものを見つけました。(URLわからくなってしまった;;)
これは図1~ワークシートを削除させるVBAらしいのですが
■解らないこと
なぜかsheetにすると削除してくれません。

'指定以外ワークシート削除
Private Sub CommandButton1_Click()


Dim myShe As Worksheet
For Each myShe In Worksheets
If myShe.Name <> Worksheets("図").Name Then
myShe.Visible = Delete
End If
Next
End Sub

A 回答 (4件)

横からすいません


たぶんここですね

For Each myShe In Worksheets
コレを
For Each myShe In Sheets
にします

あと
If myShe.Name <> Worksheets("図").Name Then
myShe.Visible = Delete

If myShe.Name <> "図" Then
myShe.Delete
に変えればOKと思います

続けると
For Each myShe In Sheets
If myShe.Name <> "図" Then
myShe.Delete
・・・

なんでSheetsじゃなきゃならないのかは、調べてませんが、For Eachでシート名を取るとき、上手く行かない時があるから使わないって割り切りで良いと思います
http://oshiete1.goo.ne.jp/qa3308068.html


おまけ
削除するシート名がわかるのであれば
Sheets("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5","Sheet6").Delete
なんてのもあります
まぁただのおまけですが…^^;
    • good
    • 0

#2です。


貼り付けが上手くいきませんでした。
こちらでためしてください。

Private Sub CommandButton1_Click()
Dim myShe As Worksheet
For Each myShe In Worksheets
If myShe.Name Like "*Sheet*" Then 'Sheet名にSheetを含めば
Application.DisplayAlerts = False '警告を止める
myShe.Delete '削除
Application.DisplayAlerts = True '警告を元に戻す
End If
Next
End Sub
    • good
    • 0

> Sheetとつけられた名前を削除させたいのですが


> たとえば
> ■削除できるもの
> Sheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6
> ■できないもの
>Sheet以外のもの

Sheetの名前に「Sheet」という言葉を含んでいれば削除するのですね?
ならば以下をお試しください。

Private Sub CommandButton1_Click()
Dim myShe As Worksheet
For Each myShe In Worksheets
If myShe.Name Like "*Sheet*" Then 'Sheet名にSheetを含めば
Application.DisplayAlerts = False '警告を止める
myShe.Delete '削除
Application.DisplayAlerts = True '警告を元に戻すNext
End If

End Sub
    • good
    • 0

>myShe.Visible = Delete



Visible はシート表示の設定なので、DELETE を設定する事はできません。
下記のようにします。

Application.DisplayAlerts = False
myShe.Delete
Application.DisplayAlerts = True

この回答への補足

お返事ありがとうございます
Sheetとつけられた名前を削除させたいのですが
たとえば
■削除できるもの
Sheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6

■できないもの
Sheet以外のもの

できないのであれば、逆に指定しているシート以外削除できないですか?
指定シートは4シートぐらいあります


End Sub

補足日時:2008/06/23 16:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!