• ベストアンサー

エクセル:ある任意のシートを除く他のシートの一括削除について

エクセルVBAについての質問です。よろしくお願いします。 エクセルの「○○.xls」にたくさんのシートを作っています。 ◆それをある任意のシートだけを残して(リンクがあるのでそのシートの全部を値だけ貼り付けてから) ◆そのほかのシートを一括削除して、 ◆別の名前をつけて「デスクトップ」に保存 ◆「○○.xls」を他のPCに保存してもそのVBAを実行するとそちらの「デスクトップ」に保存できるというイメージです。 このようなVBAを教えていただけないでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

残すシートの名前が「残すシート」の場合、こんな感じかな? ただ、「デスクトップ」に保存ですが、他のPCに保存の場合はPCごと(ユーザーごと)にパスが変わってしまうので自分で選んでもらうようにしてあります。 Sub test01() For Each sh In Worksheets If sh.Name = "残すシート" Then Cells.Copy Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False Else Application.DisplayAlerts = False sh.Delete Application.DisplayAlerts = True End If Next Application.Dialogs(xlDialogSaveAs).Show End Sub

yastaro
質問者

お礼

ご回答ありがとうございます。できました。完璧です。いつもいつもご指導感謝いたします。 追加質問があったのですが、こちらを先に締め切ってしまいましたので、改めて質問投稿をしました。 よろしければまた引き続いてご指導をお願いいたします。

関連するQ&A