|
▼フレッツ さん:
今晩は・・・
>この場合は、sheet1,sheet2を残してシート名を他の名にしました100シート以上くらいです。
>それで作ったシートをすべて削除したくなったので。
>forステートメント でインデックスを一個づつ
>削除しようとおもったのですが、sheet1,sheet2
>だけを残す方法もわからず、for each だと全部消してしまい
>四苦八苦しているところでした。
sheet1とsheet2を残すには・・・
私はこんな風にしています・・・間違っていたら⇒ゴミ箱へ
Sub シートABCとBCD() '残すシートを例えば「ABCとBCD」とします。
Dim ST_Name As String
Dim sht As Object
For Each sht In Sheets
If sht.Name <> "ABC" And sht.Name <> "BCD" Then Call del_sheet(sht.Name)
Next
End Sub
Sub del_sheet(ST_Name As String)
On Error Resume Next
Application.DisplayAlerts = False
Sheets(ST_Name).Delete
On Error GoTo 0
Application.DisplayAlerts = True
>インデックスを並べたい理由は順番どおり並べていた方が
>コードの実行が確実になるのではと思ったのと、
>見た目が悪いなと思ったからです。
消したシートを復活させると連番に並びますよ。
消したり復活(新しいシートを増やす)を繰り返す
という、繰り返して操作をすると
例えば21から31のシートが
次は32からシートが40・・・と並びどんどん数字が
大きく累積されて行きます。
|
|