|
▼初心者 さん:
>しかし、プログラムが言うことを聞いてくれません。
>標準モジュールに書いたのですが。。。
こんにちは。
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
|
|