A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
>閉じるときに、シート「c」だけを保存したいのです。
操作中にユーザがCtr+Sや上書き保存を実行しても、書き換えられてしまいますけれど…?
実現したとしても、操作者にとっては「変えたはずなのに…?」ということが起こり得る謎の仕様となる可能性があるので、変えられたくないのであれば、通常の発想で行うのであればシートの保護を利用なさるのが宜しいように思います。
>名前の変更をしたり、他のブックにコピーなどはしたくありません。
>元のブックのまま上記をやりたいのです。
通常のエクセル等の操作時に、自動的にバックアップファイルが作成されています。(非表示にしているとわかりませんけれど)
これと同じように、一時的に作業用のブックを作成したりする方が簡単な気はしますが、一時的なものでもダメと言うのであれば…
1)ブックオープン時に、シートa、bのコピーを非表示シートで作成。
2)クローズ時にシートc以外は元に戻して保存
といったような仕組みにしておくことでも可能だと思います。
ただし、最初に記したように操作中に一時保存等を行った場合に、シートの状態をどうするのが良いのかという問題が残るかも知れません。(普通に考えるなら、a、bは元に戻ってしまう)
有り難うございます。
細かく書かなかったので気を使わせてしまいました。
意図が上手く伝わらなかったみたいです。
色々手が在るみたいですね。
考えてみます。
お世話になりました。
No.2
- 回答日時:
とりあえず、思いつくままにアドバイスを!
>(シート「a」、「b」は保存したくない。(変更を反映させたくない。))
のであれば、
保存の前に削除することは可能ですが、シート「c」のみのブックになります。
元のブックのままではなくなります。
そもそも、シート「a」、「b」には、何が入っているのでしょうか?
単なる作業用の空のシートなら、「Private Sub Workbook_Open()」イベントで新シートを追加すれば可能ですが、なにか情報が入っていれば、その情報のみを記述した別ファイルが必要になり、そのファイルを開いて情報を追加(または参照)する必要があります。
固定された情報のみであれば、まだましです。シート「c」を参照する関数がある(またはシート「a」、「b」にシート「c」を参照する関数がある)の場合には、処理がかなりややこしくなります。
>出来れば、
>メッセージを出さずに閉じたいのですが。
>閉じ方はブック右上の×印をクリックします。
に関しては、
「Private Sub Workbook_BeforeClose(Cancel As Boolean)」イベントで、
ここで、シート「a」、「b」の削除操作を行う。
Application.DisplayAlerts = False
Thisworkbook.Save
で可能なはずです。
※ここでは、元のブック「X」にマクロが組み込まれることを前提にしています。
有り難うございます。
細かく書かなかったので気を使わせてしまいました。
意図が上手く伝わらなかったみたいです。
非表示についてはやってみます。
お世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/09 12:17
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルVBA 2 2022/04/27 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
エクセルを共有するとPCによっ...
-
VBAでブックを非表示で開いて処...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
エクセルでウィンドウの枠固定...
-
エクセルで参照しているデータ...
-
【ExcelVBA】シートをそれぞれ...
-
エクセル2016です。「ブッ...
-
フォルダ内の複数ファイルから...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
フォルダ内の複数ファイルから...
-
指定ファィルの指定シートをシ...
-
エクセルファイルを開かずにpdf...
-
Excelファイルをダブルクリック...
-
エクセルファイルをオープンし...
-
Excelで指定範囲のデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelで、複数ブックの複数シー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
Excel(2010)のフィルターが保...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
エクセルファイルを開かずにpdf...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
-
エクセルで50行ごとに区切った...
-
エクセルシートの一部を送りたい
-
フォルダ内の複数ファイルから...
-
エクセル 複数のブックを一度...
おすすめ情報