[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定の警告を出さないようにしたい』(ぺぺ)
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.