• ベストアンサー

Excel VBA 特定の複数のシートのみ保存する方法

WWolfの回答

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.4

こんにちは。 こんなかんじでどうですか? Sub test1() chk = 0 With ThisWorkbook OWN = .Name If .Worksheets.Count <> 1 Then For Each ws In .Worksheets If ws.Name <> "操作" Then ws.Select (False) chk = 1 End If Next If chk = 1 Then ActiveWindow.SelectedSheets.Copy NWBN = Application.Dialogs(xlDialogSaveAs).Show If NWBN = True Then ActiveWorkbook.Close False Workbooks(OWN).Activate Application.DisplayAlerts = False ActiveWindow.SelectedSheets.Delete Application.DisplayAlerts = True End If End If End If End With End Sub

tawagao
質問者

お礼

ご回答有難うございます。 上記のプログラムですと、「ブックのシートをすべて削除または非表示にすることはできません。」とエラーが出てしまいましたが大変参考になりました。どうも有難うございました。

関連するQ&A

  • VBAでブック内のワークシートを名前をつけて保存

    エクセルVBAで作業中のブックの一部のワークシート(2枚)を名前をつけて保存する方法を教えてください。 (例)  《ブックA》  sheet1 sheet2     sheet3 10/5     10個 10,000円    4個 25,000円 東京     25個 18,500円    6個 42,000円 というブックから『10/5 東京』というブックでsheet2,sheet3の内容を 保存したいのですが・・・ VBAは勉強し始めでほとんどわからないので教えてください。

  • Excel VBAでシートを新規ブックとして、名前を付けさせて保存するには

    こんばんは。質問です。 シートを新規ブックにコピーしたいのですが、その際に 名前を付けて保存のダイアログを出して、名前のボックス に「シート名」だけを表示させておいて、後は操作者が任意に 名前を追加できるようにして保存するようにするにはどのように したらいいでしょうか? 例えば、別ブックに保存したいシートが「売上」というシート名 であればダイアログボックスに「売上」と表示させ、操作者は任意で 「売上4月」などとするようにして保存したいということです。 よろしくお願いします。

  • エクセルVBAでの保存方法

    ブック内のsheet1に計算式の入った表を別のブックに 名前を付けて保存するときに、計算式を取りたい 『表と値をコピーしたい』のですが、 どのようにすればよいですか?

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • EXCELのVBAで作業ファイルを閉じてもメモリの解放をしなくて困っています

    いろいろネットで調べてみたのですが、わからなかったので お願いします。 EXCEL2003のVBAで作業ブックを作り、色々計算した 結果を1つのシートにまとめ、結果シートを新たに作ったブックに コピーします。 その後、作業ブックは保存せずに閉じるのですが、作業ブックで 増えたメモリがブックを閉じても減りません。 自分が調べた限りでは、こういう事例はありませんでした。 作業ブックを閉じても、作業ブックのメモリは解放されないもの なんでしょうか。 どんどん、メモリが増えたままになって困っております。 なんせ、初心者なので、いまひとつわかっておりません。 よろしくお願いいたします。

  • エクセル ワークシート操作

    エクセル VBAにてブックを閉じるときに作業をして追加した ワークシートを昇順、もしくは降順(名前、日付など)に 並び替えてから閉じるように する方法がわからないのですが? どのようにやるのでしょうか?

  • 1つのブックにある複数のシートをCSV形式で保存

    1つのブックに100シートほどあり、 それぞれのシートごとに「America」「Japan」などの 名前がついています。 各々のシートをmydocumentの"data"というフォルダに CSV形式で保存したいと考えています。 名前は、それぞれのシートに付いているAmericaやJapanなどで保存したいと考えています。 自身でチャレンジしてみましたが、うまい具合に いきません。 for-nextステートメントなどを用いて どなたか、VBAで素早くこの作業を行える方法をご存知の 方はいらっしゃいませんでしょうか。ご教示願います。

  • Excel VBAでのブックの保存方法について教えてください。

    こんばんは。ExcelVBAのコードを教えてください。 マクロを含むブック(例:生産個数管理表)の3つのシートを、3シートとも新しいブックに移動し、「今日の日付」と「生産数」(例:20090818生産数)というブック名を付けて、元のマクロを含むブックと同じ場所に保存し、マクロを含んだブックは保存することなく閉じる。ようにしたいのですが、VBAではどのようにすればよいのでしょうか。 宜しくお願い致します。

  • VBAでエクセル保存方法

    Excel2003のVBAで保存処理を下記のように行います。  Book.SaveAs ("ファイル名") しかし問題があり、ファイルを開くとVBAで記入更新したシートが 表れず別のシートが最初に表示されます。 一番最後に更新したシートを開いたときに表示される方法は ありますか? よろしくお願いいたします。

  • エクセルでシートを新規Bookにコピーして保存

    いつもお世話になっております。 毎回お世話になっております。 過去にも似たような質問をさせていただいてその時々の要求は解決しているのですが、悲しいかな各々のVBAが組み合わせられません。(というレベルです) やりたいことは、特定のBookのアクティブシートを別の新規BookのSheet1にコピーして数値で貼り付ける。➣ここまではできました。 問題はこの、新規Bookを指定のセル(D5とA1)の内容をファイル名にして指定のフォルダに保存する。が出来ません。 1.新規BookでVBAを動かしたいのですが、複数のPCで使う時にどこに記録するのかわかりません。 2.コピーして数値で貼り付けから保存までのVBAは元のシートから直接(1回の操作)でも、新規Book1を表示させてからの操作でもどちらでも良いです。 3.Book1を保存するファイル形式はVBAが含まれないxlsxが好ましいです。(メールで送信するので)