- 締切済み
VBAでエラーメッセージが出ないようにしたい
book1にbook2のセルをコピーして貼り付け、book2を閉じようとしたところ、シートにリンクが張られているのか以下のようなメッセージボックスが出てきます ----ここから----------------- 移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前’xxx’が含まれています。この名前を使用しますか? コピーまたは移動先のシートに定義されている名前を使用する場合は「はい」をクリックします。 数式またはワークシートで参照する範囲の名前を変更する場合は、「いいえ」をクリックし、「名前の重複」ダイアログボックスに新しい名前を入力します。 ---------ここまで------------------ 取り敢えず「はい」をクリックして閉じているのですが、複数回このメッセージが繰り返し出てきて面倒なので、VBAでこのメッセージを出さないようにしたいのですが、どのようにすればよいのでしょうか?
- nanbaya2
- お礼率63% (14/22)
- オフィス系ソフト
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 [名前定義]は、本来は、マクロとは相性がよくありません。Application.DisplayAlerts = False でエラーをなくすのは良いのかもしれませんが、[名前の定義]が二重構造になってしまいますので、あまり関心しません。ただ、結果論で、コーディングする人のマクロの技術の問題ですから、当面の問題が起こらなければそれでよいのではないか、と言われるのがオチですから、それ以上は、本質的なコーディングの段階から技術を求められなければ何も言えません。 ただ、本来、シートコピーの段階で、例えば、 以下で新規のブックを用意して、標準モジュールに書いていただければ分かります。 Sub DoubleNamesTest1() Dim NewBook As Workbook Dim AcBook As Workbook Set AcBook = ActiveWorkbook With AcBook.Worksheets(1) '名前定義 .Range("A1:C3").Name = "myTest" .Copy After:=AcBook.Sheets(AcBook.Sheets.Count) .Copy End With Set NewBook = ActiveWorkbook With NewBook '以下がエラーが発生する AcBook.Sheets(AcBook.Sheets.Count).Copy After:=NewBook.Sheets(1) '* ''ここの二行が、エラー対策 '.Sheets.Add After:=.Sheets(.Sheets.Count) '** 'AcBook.Sheets(AcBook.Sheets.Count).Cells.Copy .ActiveSheet.Range("A1") '** End With Set NewBook = Nothing Set AcBook = Nothing End Sub AcBook.Sheets(AcBook.Sheets.Count).Copy After:=NewBook.Sheets(1) ↓ 上記一行を以下の二行に置き換える .Sheets.Add After:=.Sheets(.Sheets.Count) AcBook.Sheets(AcBook.Sheets.Count).Cells.Copy .ActiveSheet.Range("A1") というように、Cells.Copy すればよいです。 ですが、[名前の定義]をどうするか、と言われれば、それは、その都度、問題を解決しなければなりません。
- imogasi
- ベストアンサー率27% (4737/17068)
一応VBAにはApplication.DisplayAlerts = False がある。 質問の場合もこれを入れることで、出なくなるか、やってみてください。 ツールーマクローVBE-挿入ー標準モジュールで出た画面に Sub auto_open() MsgBox "aaa" Application.DisplayAlerts = False End Sub Sub auto_close() MsgBox "bbb" Application.DisplayAlerts = True End Sub 確認できたらMsgboxの行は毎回出ると、しつこいから削除のこと。 (ほかにもコードのやり方があります) ーーー しかし本件は有名なもののようで、Googleでエラーメッセージの「移動またはコピーしようとしている・・」の前から20文字ぐらい(長い目に。途中で切っても可)をコピーし、検索語として貼り付けして、照会すると、そのものズバリに関した記事がたくさんでる。 http://q.hatena.ne.jp/1211612862 など、明確ではないかな。 この対策を取れないか検討するのが筋です。
- end-u
- ベストアンサー率79% (496/625)
「はい」で、コピー先シートの名前を使用するので構わないのなら、とりあえずPasteメソッドの前に Application.DisplayAlerts = False でメッセージの回避のみ、できます。 それで本当に不都合がないのか、各bookの名前定義を確認しておいたほうが良いとは思いますが。 例えば数式コピーの場合、名前が一緒で、その名前範囲のデータがbook1とbook2で違う時、 貼り付け直後に数式結果が変わってくる事もあるのでは。
関連するQ&A
- エクセルのこのメッセージは何?
エクセルでシートをコピーするときに以下のメッセージが表示されます。 これは何なんでしょうか? また、これはどうやれば出ないように出来るのでしょうか? (どこかに何か設定があるの?) ------------------------------------------ 移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'xxxx'が含まれています。この名前を使用しますか? ・コピーまたは移動先のシートに定義されている名前を使用する場合は、「はい」をクリックします。 ・数式またはワークシートで参照する範囲の名前を変更する場合は「いいえ」をクリックし、「名前の重複」ダイアログボックスに新しい名前を入力します・ ------------------------------------------ よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excel2007でシートをコピーした際に、メッセージが表示されてしまう。
Excel2007を使用しています。 シートのコピーをした際に以下のメッセージが表示されてしまいます。 --------------------------------------------------------------------------------------- 移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートにすでにある名前 'xxx' が含まれています。この名前を使用しますか? ・コピーまたは移動先のシートに定義されている名前を使用する場合は、[はい]をクリックします。 ・数式またはワークシートで参照する範囲の名前を変更する場合は、[いいえ]をクリックし、[名前の重複]ダイアログボックスに新しい名前を入力します。 --------------------------------------------------------------------------------------- 私が作成したExcelファイルではないので、どのような操作をしたファイルかが分からないのですが どうしてこんなメッセージが表示されてしまうのでしょうか? シートには文字が書かれているだけで、シェイプが張り付いていたりするようには 見えません。(どこかにあるのかもしれませんが。。。) このメッセージを表示したくないと思っているのですが、 どうしたらよいのでしょうか? 何か変な設定や、シェイプ?が張り付いているのであれば、 削除してしまいたいです。 もしよろしければ、アドバイスいただけませんか? ぜひよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excel 2010のエラーメッセージについて
こんにちは、OS Windows7 Excel 2010です、宜しくお願いします。 マクロが含まれているExcel 2010のシートをシート毎コピーしようとすると、下のようなダイヤログ がでます。 「移動またはコピーしようとしている数式またはシートに、移動またはコピー先のワークシートに既 にある名前'●●●'が含まれています。 この名前を使用しますか? ・コピーまたは移動先のシートに定義されている名前を使用する場合は、「はい」をクリックし ます。 ・数式またはワークシートで参照する範囲の名前を変更する場合は、「いいえ」をクリックし、 「名前の重複」ダイヤログボックスに新しい名前を入力します。」 という内容で、「はい」、「いいえ」の選択をするように表示されています。 「はい」または「いいえ」を選択して色々と名前を入力しようとしても、エラーメッセージが出るばか りでうまく行きません。 一体どのように入力して名前をつけてやれば良いのでしょうか。
- ベストアンサー
- Windows 7
- エクセルでワークシートをコピーすると、変なメッセージが
同じエクセルのファイル内で、ワークシートをコピーすると下のメッセージが出る事があります。 これを出ないようにするにはどのようにしたら良いでしょうか? メッセージ: 「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前’XXX’が含 まれています。」
- ベストアンサー
- オフィス系ソフト
- エクセルでシートのコピー時の異常
エクセルでシートの別のエクセルファイルにコピーをする時に、時々、以下の異常がでます。 1.移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前‘aaa’が含まれています。この名前を使用しますか? ・コピーまたは異動先のシートに定義されている名前を使用する場合は、[はい]をクリックします。 ・数式またはワークシートで参照する範囲の名前を変更する場合は、[いいえ]をクリックし、[名前の重複] ダイアログボックスに新しい名前を入力します。 [はい]を押すと、 ‘aaa’の部分が変化するだけで、全く同じメッセージがでる。 [いいえ]をおすと、 名前の重複ダイアログが出て、「同じ名前がリンク先のシートに定義されています。」(というかそんな名前のシートはないのですが)とりあえず、変更後に別の名前を入力してみますが、1.の状態に戻るだけで解決しません。 最も、やっかいなのが、この状態になると、ここから抜け出せず、上書き保存すら受け付けてくれないので、最悪、保存前の状態に戻らざるをえないのが困っています。 どなたか、回答よろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA、同名の<定義した名前>がある場合
エクセル2010です。 Book_AのシートをBook_Bのシートに貼り付けようと思います。 Book_AとBook_Bに同じ名前の<定義した名前>があった場合、手作業でもマクロでも、シートをコピーしてそのまま他BOOKの別シートに貼り付けようとすると、 「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに 既にある名前<定義した名前>が含まれています。この名前を使用しますか?」 と聞いてきます。 この名前をそのまま使用したいので手作業の時は、[はい] をクリックすればいいだけなのですが、マクロで自動的に貼り付けをしていると、ここで中断されてしまいます。 ここをマクロで自動的に[はい] をクリックしたことにするのはどのようにすればよろしいでしょうか?
- ベストアンサー
- Excel(エクセル)
- エクセルのメッセージ
エクセルでシートを複製した時に、下記のメッセージが出ます。 移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前’○○ ’が含まれています。この名前を使用しますか? このメッセージが出ないようにするにはどうすれば宜しいでしょうか? 入力規則が関係しているのかなと思うのですが、入力値の種類は「すべての値」となっています。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル シートのコピー時のメッセージ
エクセルのシートをコピーしようとすると、「移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前’_〇〇〇’が含まれます。・・・・・」のメッセージが出てきて、はいを押し下げしても、〇〇〇が延々とカウントされるだけで、完了しません。なにが原因なのでしょうか。
- 締切済み
- Windows 7
- [Excel]シートをコピーした際の名前の重複をなくしたいのですが。
Excelにてシートをコピーした際、↓のダイアログが出てしまうので、 削除したく色々試みましたがうまくいきません。 ------------------------------------------ 【ダイアログ】 移動またはコピーしようとしている数式またはシートには、 移動またはコピー先のワークシートに既にある名前'xxx'がふくまれています。この名前を使用しますか? ------------------------------------------ 取り敢えず“名前の定義”に問題があると思い、[挿入]→[名前]→[定義]より、 全て定義を削除しましたが状況が変わりません。 他に考えられる原因など、思い当たる節がありましたら、ご教授頂けますでしょうか。 また、原因に対する対処方法を載せて頂けますと、大変たすかります。 すみませんが、みなさまのお知恵をお貸しください。。
- ベストアンサー
- オフィス系ソフト
- Excelで、シートをコピーするとき、「移動またはコピーしようとしてい
Excelで、シートをコピーするとき、「移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'ERWERW’が含まれています。」といったメッセージが出てきます。ほかには'Insatu'とかも。名前を付けた覚えはないのですが、こういう場合どうすればいいのでしょうか。選択肢として、(1)コピー先または移動先のシートに定義されている名前を使用する。(2)新しい名前を入力する。が提示されます。
- ベストアンサー
- オフィス系ソフト