| 
    
     |  | ▼初心者 さん: >しかし、プログラムが言うことを聞いてくれません。
 >標準モジュールに書いたのですが。。。
 
 こんにちは。
 F8を押せば次のステップへ行単位で実行されますので
 確認してみましょう。
 
 Sub SheetDelete()
 Dim sht()  As String
 Dim i    As Long
 Dim j    As Long
 
 For i = 1 To Worksheets.Count
 '↓を追加してシート名の表示を確認(イミディエイトウィンドウ)
 Debug.Print StrConv(Worksheets(i).Name, vbNarrow)
 If Not (StrConv(Worksheets(i).Name, vbNarrow) >= 1 _
 And StrConv(Worksheets(i).Name, vbNarrow) <= 10) Then
 ' 1〜10以外の時↓が実行されるか確認
 ReDim Preserve sht(j)
 sht(j) = Worksheets(i).Name
 j = j + 1
 End If
 Next
 Application.DisplayAlerts = False
 If Sgn(sht) > 0 Then
 Worksheets(sht).Delete
 End If
 Application.DisplayAlerts = True
 End Sub
 
 |  |