Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10614 / 13646 ツリー ←次へ | 前へ→

【20526】上書き保存をキャンセルした場合、エラー表示を出さない方法について YN61 04/12/11(土) 14:15 質問[未読]
【20529】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/11(土) 15:11 回答[未読]
【20532】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/11(土) 16:18 お礼[未読]
【20534】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/11(土) 16:47 回答[未読]
【20539】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/11(土) 19:01 質問[未読]
【20540】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/11(土) 19:20 回答[未読]
【20544】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/11(土) 21:16 お礼[未読]
【20547】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/11(土) 21:51 回答[未読]
【20549】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/11(土) 22:50 お礼[未読]
【20551】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/11(土) 23:02 発言[未読]
【20561】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/12(日) 8:01 質問[未読]
【20563】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/12(日) 8:44 質問[未読]
【20564】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/12(日) 9:32 回答[未読]
【20565】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/12(日) 11:18 質問[未読]
【20568】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/12(日) 12:12 回答[未読]
【20572】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/12(日) 15:50 お礼[未読]
【20576】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/12(日) 17:03 お礼[未読]
【20577】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/12(日) 17:11 回答[未読]
【20579】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/12(日) 17:31 回答[未読]
【20834】Re:上書き保存をキャンセルした場合、エラ... YN61 04/12/21(火) 20:56 質問[未読]
【20835】Re:上書き保存をキャンセルした場合、エラ... かみちゃん 04/12/21(火) 21:25 発言[未読]

【20526】上書き保存をキャンセルした場合、エラー...
質問  YN61  - 04/12/11(土) 14:15 -

引用なし
パスワード
   こんにちは。
いつも回答をいただきありがとうございます。

マクロでシートを保存するのですが、日報のような
形ですが、昼に保存して・・・夕方にまた一部変更がある場合
マクロで保存するとき、
必ず上書き保存をしますか?と聞いてきます。
いつも「はい」を押して上書きしていますが・・・
「キャンセル」を押すと、エラーになります。エラーの出ない方法を
教えていただきたくお願いします。

ActiveWorkbook.SaveAs Filename:= "日報" & Format(Date, "mm" & "-" & "dd")

【20529】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/11(土) 15:11 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>「キャンセル」を押すと、エラーになります。エラーの出ない方法を
>教えていただきたくお願いします。

とりあえず、以下のようにすると、エラー回避できます。
 On Error Resume Next
 ActiveWorkbook.SaveAs Filename:= "日報" & Format(Date, "mm" & "-" & "dd")
 On Error GoTo 0

過去ログで「SaveAs」「キャンセル」などで検索すると、いろいろ参考となるものが出てくると思います。

【20532】Re:上書き保存をキャンセルした場合、エ...
お礼  YN61  - 04/12/11(土) 16:18 -

引用なし
パスワード
   ▼かみちゃん さん:

いつもお世話になります。ありがとうございました。
このコードは絶対に覚えます。活用させていただき美味く行きました。
これからもよろしくお願いします。

以前、ご回答いただいたこの「日報」を保存するとモジュールまで
ついていく件ですが。ご紹介いただきましたURLを見て、作りましたが
美味く行きませんでした。
シートを毎日「日にちをつけて」保存していますが
そのシートに挿入したマクロモジュールまで、
毎日の日報に保存されて、保存データが
重くなっています。できれば、保存するときに、モジュールを外して
保存したいのですが、ご紹介いただいた

Sub Test()
 Dim W_Book As Workbook

  Set W_Book = Workbooks("Book1.xls")

 With W_Book.VBProject.VBComponents.Item("Sheet1").CodeModule
     .DeleteLines 1, .CountOfLines
 End With

End Sub

をどのようにしたら良いか、お時間がございましたら
アドバイスいただけませんでしょうか。

【20534】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/11(土) 16:47 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>以前、ご回答いただいたこの「日報」を保存するとモジュールまで
>ついていく件ですが。ご紹介いただきましたURLを見て、作りましたが
>美味く行きませんでした。

うまくとかないとはどううまくとかなかったのでしょうか?
だいたい想像はつきますが・・・
こちらでは、動作確認していますので、Excelのバージョンとともに、どううまくいかないのかを教えてください。

【20539】Re:上書き保存をキャンセルした場合、エ...
質問  YN61  - 04/12/11(土) 19:01 -

引用なし
パスワード
   ▼かみちゃん さん:
ありがとうございます。

>うまくとかないとはどううまくとかなかったのでしょうか?
>だいたい想像はつきますが・・・
>こちらでは、動作確認していますので、Excelのバージョンとともに、どううまくいかないのかを教えてください。

Esecel2000を使っています。保存はできるのですが、その保存された
「日報」にモジュールがついていきます。
コードは次の通りです。何処が問題なのでしょうか?
ご指導の程お願いいたします。

Sub test()

 On Error Resume Next
 ActiveWorkbook.SaveAs Filename:="日報" & Format(Date, "mm" & "-" & "dd")
 On Error GoTo 0


Dim W_Book As Workbook
 Set W_Book = Workbooks("日報" & Format(Date, "mm" & "-" & "dd")& ".xls")

 With W_Book.VBProject.VBComponents.Item("Sheet1").CodeModule
     .DeleteLines 1, .CountOfLines
 End With

End Sub

【20540】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/11(土) 19:20 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>うまくとかないとはどううまくとかなかったのでしょうか?
>>だいたい想像はつきますが・・・
>>こちらでは、動作確認していますので、Excelのバージョンとともに、どううまくいかないのかを教えてください。
>
>Esecel2000を使っています。保存はできるのですが、その保存された
>「日報」にモジュールがついていきます。
>コードは次の通りです。何処が問題なのでしょうか?

はい。どこにも問題はないように思えます。
もちろん、こちらで動作確認しましたが、きちんとコードが消えます。

前回も言いましたが、どううまくいかないのか?エラーメッセージや、エラー箇所を教えてください。(だいたい想像はつきますが・・・)

【20544】Re:上書き保存をキャンセルした場合、エ...
お礼  YN61  - 04/12/11(土) 21:16 -

引用なし
パスワード
   ▼かみちゃん さん:

>前回も言いましたが、どううまくいかないのか?エラーメッセージや、エラー箇所を教えてください。(だいたい想像はつきますが・・・)

最初から表現が悪いかも知れませんが、美味く伝わっていないかも知れません。
要は、「日報」のデータの表(言わばテンプレート的な扱い)があります。
「日報」にはマクロを施こし、データを入れて例えば今日のデータは
日報12−11という形で保存するのですが、その日その日の日報にまで
オリジナルの「日報」のモジュールがひっついた状態で保存されてしまいます。
マクロのコードが外された単なるシートとして保存したいのです。

このままですと、マクロのコードが全ての「日々のデータ処理した日報」に添付
されてしまっています。Sub 〜 EndSubまでのコードを全て消して、日々のデータ
仕上げにしたいのです。 また良いアイディアがありましたら教えてください。

【20547】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/11(土) 21:51 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>「日報」にはマクロを施こし、データを入れて例えば今日のデータは
>日報12−11という形で保存するのですが、その日その日の日報にまで
>オリジナルの「日報」のモジュールがひっついた状態で保存されてしまいます。
>マクロのコードが外された単なるシートとして保存したいのです。

なさりたいことは、わかっているつもりです。
そして、こちらでも、その動作確認はできています。
ただし、あるところの設定をはずせば、あるエラーが出て、消すことはできません。

何かエラーが出てて、コードが消せないのではないでしょうか?
それとも、エラーが出ないのであれば、ご提示のコードではSheet1に書かれているコードだけを消しますので、その他のシートにコードがあるとすれば、それは残ってしまいます。

【20549】Re:上書き保存をキャンセルした場合、エ...
お礼  YN61  - 04/12/11(土) 22:50 -

引用なし
パスワード
   ▼かみちゃん さん:
>なさりたいことは、わかっているつもりです。
>そして、こちらでも、その動作確認はできています。
>ただし、あるところの設定をはずせば、あるエラーが出て、消すことはできません。
>
>何かエラーが出てて、コードが消せないのではないでしょうか?
>それとも、エラーが出ないのであれば、ご提示のコードではSheet1に書かれているコー
>ドだけを消しますので、その他のシートにコードがあるとすれば、それは残ってしまい
>ます。

何度もご回答・ご返事ありがとうございます。
感謝しております。

ご指摘いただいているような可能性もあるかと思い、全く新しいエクセルの
ブックに作成しています。仕上げは「日報12-11.xls」で完成していますが
何故かマクロのコードが
Sub test()〜End Subまでの中のコードが全て残り保存されてしまいます。
色々とご指導をいただきながら・・・「何らエラーは出ませんが、ただ新しい
保存シートにマクロのコードがのっかっていること」は残念です。

何度もご迷惑をおかけしました、またアドバイスがありましたら宜しく
お願いします。

【20551】Re:上書き保存をキャンセルした場合、エ...
発言  かみちゃん  - 04/12/11(土) 23:02 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Sub test()〜End Subまでの中のコードが全て残り保存されてしまいます。
>色々とご指導をいただきながら・・・「何らエラーは出ませんが、ただ新しい
>保存シートにマクロのコードがのっかっていること」は残念です。

以下のコードでは、少なくともSheet1のコードは消えていますよね?
Set W_Book = Workbooks("日報" & Format(Date, "mm" & "-" & "dd")& ".xls")
With W_Book.VBProject.VBComponents.Item("Sheet1").CodeModule
Sheet1のコードも消えていないのでしょうか?

自宅のはExcel2002ですが、きちんと消えます。
会社では、Excel2000ですので、一度動作確認してみます。

> 何度もご迷惑をおかけしました、またアドバイスがありましたら宜しく
> お願いします。

未解決のまま閉じられるのは、「なんだかなぁ」と思いますので、さらにコメント書かせていただきました。

【20561】Re:上書き保存をキャンセルした場合、エ...
質問  YN61  - 04/12/12(日) 8:01 -

引用なし
パスワード
   ▼かみちゃん さん:

おはようございます。昨日はありがとうございました。

「日報.xls」を動作しますと、「日報12-12.xls」がきっちりと作成されています。
「日報12-12.xls」にも全く同じのモジュールが残っています。

>以下のコードでは、少なくともSheet1のコードは消えていますよね?
>Set W_Book = Workbooks("日報" & Format(Date, "mm" & "-" & "dd")& ".xls")
>With W_Book.VBProject.VBComponents.Item("Sheet1").CodeModule
>Sheet1のコードも消えていないのでしょうか?

消えていません、この部分だけ消えるという事もあるのでしょうか、「日報12-12.xls」
のModule1に残っているコードを下にそのまま、貼り付けました。


>自宅のはExcel2002ですが、きちんと消えます。
>会社では、Excel2000ですので、一度動作確認してみます。

是非よろしくお願いします。

>未解決のまま閉じられるのは、「なんだかなぁ」と思いますので、さらにコメント書かせていただきました。


Sub test()

On Error Resume Next
 ActiveWorkbook.SaveAs Filename:="日報" & Format(Date, "mm" & "-" & "dd")
 On Error GoTo 0

Dim W_Book As Workbook
 Set W_Book = Workbooks("日報" & Format(Date, "mm" & "-" & "dd") & ".xls")
 With W_Book.VBProject.VBComponents.Item("Sheet1").CodeModule
     .DeleteLines 1, .CountOfLines
 End With

End Sub

【20563】Re:上書き保存をキャンセルした場合、エ...
質問  YN61  - 04/12/12(日) 8:44 -

引用なし
パスワード
   ▼かみちゃん さん:

誤解しておりました・・・
「コード」を作成するとき、挿入→標準モジュールのBook1Module1(コード)のところを使用していました。
Book1-Sheet1のところを使うんですね。・・・このスペースは「イベントマクロ」専用
にしか使ったことがありませんでした。
・・・・・・これで、問題は無いでしょうか?
「日報12-12.xls」が完成し、コードは一切残っていません。

ありがとうございました・・・コードを書くところが間違っていたのですね。
それから、「日報12-12.xls」を閉じるとき、次のようなメッセージが出ます。
これは、コードを消した状態にして保存するか?あるいはコードを残して保存?
の意味だと思います。
   ↓
「'日報12-12.xls'への変更を保存しますか?」・・・→
「はい、いいえ、キャンセル」

この選択肢をしなくって良い方法はありますでしょうか。
「はい」をいちいち選択しなくって良い方法ができるのでしょうか。
「いいえ」を選択する必要が無いからです。(コードを消した状態で
保存したいからです)。

色々とありがとうございました。これで、もやもやが消えてきました。
私の誤解をお許しください。今後ともよろしくご指導の程お願い
申し上げます。

【20564】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/12(日) 9:32 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>誤解しておりました・・・
>「コード」を作成するとき、挿入→標準モジュールのBook1Module1(コード)のところを使用していました。

すべては、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20471;id=excel
「失礼しました。保存する前のシートにはモジュールがついています。」
という発言で、コメントしていました。

これが違うのであれば、今までのコメントは、ほとんど無駄です。

>・・・・・・これで、問題は無いでしょうか?

標準モジュールをシートモジュールに書いたらいいという問題ではなく、消したい
のは、シートモジュールなのか標準モジュールのどちらなのですか?
仮に、標準モジュールならば、保存したいシートだけを新規ブックにコピーすれば
モジュールは、ついてこないと思います。
これは、コピーしたあとに、標準モジュールにコードがないことを確認できると思
います。

>それから、「日報12-12.xls」を閉じるとき、次のようなメッセージが出ます。
>これは、コードを消した状態にして保存するか?あるいはコードを残して保存?
>の意味だと思います。
>   ↓
>「'日報12-12.xls'への変更を保存しますか?」・・・→
>「はい、いいえ、キャンセル」
>
>この選択肢をしなくって良い方法はありますでしょうか。

日報12-12.xlsは、コードがないブックでいいですよね?
コードがある元のブックではないですよね?

日報12-12.xlsは、コードがないブックであれば、閉じる前というか、コードを消したあとに上書き保存のコードを書けばいいだけだと思います。
Sub Macro1()
  ActiveWorkbook.Save
End Sub

【20565】Re:上書き保存をキャンセルした場合、エ...
質問  YN61  - 04/12/12(日) 11:18 -

引用なし
パスワード
   ▼かみちゃん さん:
早速ありがとうございます。
>すべては、
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20471;id=excel
>「失礼しました。保存する前のシートにはモジュールがついています。」
>という発言で、コメントしていました。

その通りです。
「標準モジュール」のModule1で処理がしたいのです。
しかし、ひょっとすると、コードを書く場所が間違っているから、マクロを実行
してもマクロが消えないのでは?・・・と思い→
MicrosoftExelObjectsの
Sheet1(Sheet1)をダブルクリックして、コードを移動させたのです。
その結果、マクロを実行しましたら、コードが消え、「日報12-12.xls」の
ファイルが出来ました。

本来は「標準モジュール」で処理したいのです。

>これが違うのであれば、今までのコメントは、ほとんど無駄です。
>
>標準モジュールをシートモジュールに書いたらいいという問題ではなく、消したい
>のは、シートモジュールなのか標準モジュールのどちらなのですか?

標準モジュールです。

>仮に、標準モジュールならば、保存したいシートだけを新規ブックにコピーすれば
>モジュールは、ついてこないと思います。

標準モジュールに今も実行しましたが、やはり「日報12-12.xls」にコードが着いてきます。

>これは、コピーしたあとに、標準モジュールにコードがないことを確認できると思
>います。

すみません、コピーしたあとに・・・?の意味が分かりません。

本当に何度もご指摘、ご指導ありがとうございます。

【20568】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/12(日) 12:12 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>本来は「標準モジュール」で処理したいのです。

それでは、再度仕切りなおしということで・・・

以下のURLが参考になると思います。
http://excelfactory.cool.ne.jp/ExcelVBATips/vbe/vbe_index.html
・ThisWorkbookのモジュールのコードを消去するには?
・標準モジュールのコードを消去するには?
・シートのモジュールのコードを消去するには?
・ブック内のすべてのマクロを消去・削除するには?

上記のURLの中の「ブック内のすべてのマクロを消去・削除する」のコードを参
考にすると、シートモジュール、標準モジュール等すべてが消えますので、今回の
場合は、このコードがいいかと思います。(最初からこれを紹介しておけばよかっ
た)

>>仮に、標準モジュールならば、保存したいシートだけを新規ブックにコピーすれば
>>モジュールは、ついてこないと思います。
>
>標準モジュールに今も実行しましたが、やはり「日報12-12.xls」にコードが着いてきます。

シートモジュールにコードがない状態でコピーしたら、ついてこないと思います
が、元シートのシートモジュール(標準モジュールではなく)があるのでは?

>>これは、コピーしたあとに、標準モジュールにコードがないことを確認できると思
>>います。
>
>すみません、コピーしたあとに・・・?の意味が分かりません。

コピーの元になるシートにはシートモジュールがないことが前提になります。

1.保存したいシートを新規ブックにコピーします。
2.コピー後のシートには、ブックが違うので、標準モジュールには、コードがな
 い。
ということなのですが・・・・

【20572】Re:上書き保存をキャンセルした場合、エ...
お礼  YN61  - 04/12/12(日) 15:50 -

引用なし
パスワード
   ▼かみちゃん さん:

大変お世話になりました。
ありがとうございました。添付いただきました貴重な資料を
元に、一度トライしてみます。

大変な時間を費やしていただき感謝しています。

今後ともよろしくご指導の程お願いします。

【20576】Re:上書き保存をキャンセルした場合、エ...
お礼  YN61  - 04/12/12(日) 17:03 -

引用なし
パスワード
   ▼かみちゃん さん:

テストしてみました。
>1・ThisWorkbookのモジュールのコードを消去するには?
>2・標準モジュールのコードを消去するには?
>3・シートのモジュールのコードを消去するには?
>4・ブック内のすべてのマクロを消去・削除するには?

>上記のURLの中の「ブック内のすべてのマクロを消去・削除する」のコードを参
>考にすると、シートモジュール、標準モジュール等すべてが消えますので、今回の
>場合は、このコードがいいかと思います。(最初からこれを紹介しておけばよかっ
>た)

テストを1はしていないのですが、2、3、4をしてみました。
2と4は美味く行きました。ご指摘のように今後4を使うようにします。


標準モジュールは何か私には相性が悪いのでしょうか、今回もトラブッて
しまいます。コードは下の通りです。

Sub Test01()

 On Error Resume Next
 ActiveWorkbook.SaveAs Filename:="日報" & Format(Date, "mm" & "-" & "dd")
 On Error GoTo 0

 Dim W_Book As Workbook

 Set W_Book = Workbooks("日報" & Format(Date, "mm" & "-" & "dd") ".xls")

 With W_Book.VBProject.VBComponents.Item("MyModule").CodeModule
     .DeleteLines 1, .CountOfLines
 End With

End Sub


下から4行目("MyModule")の行でイエローラインがでて、「実行時エラー'9':  インデックスが有効ではありません。」と出ます。

コードで問題がありましたらご指摘いただければ幸いです。
でも、使えるようになり本当に嬉しく思います。ありがとうございました。

【20577】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/12(日) 17:11 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> With W_Book.VBProject.VBComponents.Item("MyModule").CodeModule
>     .DeleteLines 1, .CountOfLines
> End With
>
>End Sub
>
>
>下から4行目("MyModule")の行でイエローラインがでて、「実行時エラー'9':  インデックスが有効ではありません。」と出ます。

「MyModule」という名前のモジュールがないからでは?
標準モジュールには、普通は「Module1」「Module2」となっていると思います。

【20579】Re:上書き保存をキャンセルした場合、エ...
回答  かみちゃん  - 04/12/12(日) 17:31 -

引用なし
パスワード
   こんにちは。かみちゃん です。

特定の標準モジュール(例としてMyModule)のコードのみを消す場合の補足です。

> With W_Book.VBProject.VBComponents.Item("MyModule").CodeModule
>     .DeleteLines 1, .CountOfLines
> End With

だけだと、「モジュールの解放」をしていませんから、
Application.VBE.ActiveVBProject.VBComponents.Remove W_Book.VBProject.VBComponents.Item("MyModule")
としたほうがいいかもしれません。
もちろん、消してから、最後にこの処理をして「解放」しても構いません。

【20834】Re:上書き保存をキャンセルした場合、エ...
質問  YN61  - 04/12/21(火) 20:56 -

引用なし
パスワード
   ▼かみちゃん さん:

色々と教えていただき日時が経過していますが・・・最終的にはご指定いただいた4番目のコードを選択して、やっています。(おかげさまで4種類の違いも理解できました)

でもまた、問題が出ています。もしお分かりでしたらよろしくお願いします。

モジュール内のコードを削除して日報12-21が作成できるのですが・・・

「日報12-21.xls'への変更を保存しますか?」・・・→
「はい、いいえ、キャンセル」

この選択を聞いてきます。「はい」にすると、毎日の日報がコード無しで綺麗に仕上がります。が・・・毎回「はい」をクリックするのは脳が無いと思います。
そこで以前にも質問しましたが。

貴殿のご回答・・・では
「日報12-21.xls}は、コードがないブックであれば、閉じる前というか、コードを消したあとに上書き保存のコードを書けばいいだけだと思います。
Sub Macro1()
  ActiveWorkbook.Save
End Sub

とご指導を受けましたが、このActiveworkbook.Saveを入れると、「日報12-21」は保存で切るのですが、モジュールにコードが復活してきます。何か良い方法がないでしょうか。

Sub Test04()
On Error Resume Next
 ActiveWorkbook.SaveAs Filename:="U:\日報ホルダー\日報" & Format(Date, "mm" & "-" & "dd")
 On Error GoTo 0
 
 Dim myVBComp
  For Each myVBComp In ThisWorkbook.VBProject.VBComponents
   If myVBComp.Type = 100 Then
   'Documentモジュール(ThisWorkbokやSheet)なら消去
    With myVBComp.CodeModule
      .DeleteLines 1, .CountOfLines
    End With
   Else
 'Documentモジュール(標準モージュール、クラスモジュール、Formなど)以外なら削除
    Application.VBE.ActiveVBProject.VBComponents.Remove myVBComp
  End If
 Next myVBComp

これも入れてみましたが、コードが復活します。
 
'Application.DisplayAlerts = False
'   Application.Quit

End Sub

何か良いヒントがありましたら、ご教授の程お願いいたします

【20835】Re:上書き保存をキャンセルした場合、エ...
発言  かみちゃん  - 04/12/21(火) 21:25 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>モジュール内のコードを削除して日報12-21が作成できるのですが・・・
>
>「日報12-21.xls'への変更を保存しますか?」・・・→
>「はい、いいえ、キャンセル」
>
>この選択を聞いてきます。「はい」にすると、毎日の日報がコード無しで綺麗に
>仕上がります。が・・・毎回「はい」をクリックするのは脳が無いと思います。

すみません。仕様をすっかり忘れてしまいました。
日報12-21.xlsは、日報.xlsを「名前を付けて保存」していますよね?
そもそも、そうではなくて、日報.xlsから、対象のシートだけを新規ブックにコピ
ーしてその新規ブックを保存することはできませんか?
そうすると、シートモジュール以外は、コードはついてきません。
仮にシートモジュールがある場合は、新規ブックにコピーする前か後に、シートモ
ジュール内のコードを消せばいいと思います。

>このActiveworkbook.Saveを入れると、「日報12-21」は保存で切るのですが、モ
>ジュールにコードが復活してきます。

これは、当たり前です。
また、コードを削除したり、新規にコードを書いたりすると、保存するかどうかを
求められます。

>何か良いヒントがありましたら、ご教授の程お願いいたします

抜本的に、テンプレート用ファイルから各日のデータファイルの作り方を考え直し
たほうがいいかと思います。

10614 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free