アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelのマクロについて教えてください。
作業ブックのシートの非表示と不要シートの削除方法を教えてください。
作業ブックに複数のシートがあります。
そのシートの内
シート名「受付」「300」「休日:このシートは元々非表示です」を非表示に
シート名「F設計INDX」「F審査」を削除しないで表示のままです。
シート名「受付」「300」「休日」「F設計INDX」「F審査」
以外のシートをすべて削除できるマクロを教えてください。
よろしくお願いいたします。

質問者からの補足コメント

  • いつも回答をありがとうございます。
    お願いがあります。
    今回は残すシート以外(非シートを含む)を表示させて手動にてシートを削除するようになってますが、
    残すシート("受付", "300", "休日", "F設計INDX", "F審査")以外はこの作業ブックでは完全に使用しませんので、「警告文無し」にて削除を教えてください。
    又、残すシートの内("受付", "300")は非表示にしたいのですが、よろしくお願いいたします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/01/25 13:25

A 回答 (2件)

>実行後 Delキーを押せば削除されます


これは嘘ですね シートタグから削除してください
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
何とかできました。
感謝いたします。

お礼日時:2023/01/25 14:02

削除するのは簡単ですけれど・・気持ち悪いので


削除するべきシートを選択するコードです
実行後 Delキーを押せば削除されます
コード内に削除処理パーツもコメントで残しておきますので 
お好きに改修してください

Dim sht As Worksheet
Dim chkName, flg As Boolean
Dim arr(), n As Integer
'Application.DisplayAlerts = False
For Each sht In Worksheets
For Each chkName In Array("受付", "300", "休日", "F設計INDX", "F審査")
If sht.Name = chkName Then flg = True: Exit For
Next
If Not flg Then
'sheetObject.Delete
ReDim Preserve arr(n)
arr(n) = sht.Name
If sht.Visible = False Then sht.Visible = True
n = n + 1
End If
flg = False
Next
Worksheets(arr).Select
'Delete
'Application.DisplayAlerts = True
    • good
    • 0

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