[[20110726115148]] 『特定の警告を出さないようにしたい』(ぺぺ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『特定の警告を出さないようにしたい』(ぺぺ)

 VBAで、あるシートの内容を別のシートにコピーするものを作っているのですが、

 ……コピー先のワークシートに既にある名前"○○○○"が含まれています……

 という警告が表示されます。いちいち「はい」を押さないと先に進まないので
 この警告を表示せずに済ませたいのです。

 Application.DisplayAlerts = False 

 とすれば警告が表示されなくなるのは知っているのですが、これだとすべての警告が
 表示されなくなり、別の警告まで表示されなくなるのは避けたいので、
 「特定の警告(今回は名前の重複)だけを表示しない」という方法はないでしょうか。


 コピーの直前に
 Application.DisplayAlerts = False
 コピーの直後に
 Application.DisplayAlerts = True
 としたらコピー時の警告だけ無視できるよ。
 (春日野馨)


 On Error Resume Next
 Application.DisplayAlerts = False
 ActiveSheet.Name = "あああ/"
 Application.DisplayAlerts = True
 If Err Then
   MsgBox "NG"
 Else
   MsgBox "OK"
 End If
 とか。
 BJ

 春日野馨さん、ありがとうございます。

 やっぱり、そのような方法しかないですか。
 たぶん問題はないと思うのですが、コピー貼り付けのとき、名前の重複以外の
 まずいことが起こったときも警告が出ない、ということが、可能性としては
 あり得るかな、と思ったので、コードの場所によって警告を出す出さないでは
 なく、生じた問題の内容によって警告を出す出さないをコントロールすることが
 できないかと思ったのでした。

 当面、アドバイスのようにやってみようと思います。

 BJさん、ありがとうございます。

 すみません、内容がよくわかりませんでした。(^_^;)ゞ

 皆さん、今後ともよろしくお願いします。

 (ぺぺ)

 コピペではなくループでセル一つづつを転記していく

 あるいは、

 コピペ前にコピー元の定義した名前を削除しておく
 (必要ならコピー元、コピー先のNamesコレクションを比較して
 重複がないかチェックしておく)

 という方法もあります。
 (カリーニン)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.