[[20071111234547]] 『シートのコピー時に出るメッセージ』(ひろ) ページの最後に飛ぶ

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

 

『シートのコピー時に出るメッセージ』(ひろ)

 シートを他のエクセルファイルに移動またはコピーするとき、
下記のようなメッセージが沢山出てきます。
出なくする方法はないのでしょうか?
今まで試した方法は、
名前の定義を全て消す、それでも出てくる文字を書きとめ、さらに名前の定義で消す。
上記方法で、しばらくは出なくなるのですが、
コピペを繰り返すうち、また勝手に名前の定義が増えていき、
同じメッセージが出ます。
ちなみに、定義などつけた覚えはありません。
Excel2003、WindowsXPです。

 「移動またはコピーしようとしている数式またはシートには、
移動またはコピー先のワークシートに既にある名前'●●●'が含まれています。
この名前を使用しますか?………」


 勝手に増えることはないと思います。
コピー(移動)元のブックで名前定義されているシートを
複数回同じブックへコピー(移動)すると該当のメッセージが発生する場合があります。
通常名前定義はブック内で一意のものですが、シート依存の名前定義も考えられるので、
名前定義の確認は元のブックの全てのシートで使用状況も含めて行ってください。
(みやほりん)(-_∂)b

ご返答ありがとうございます。

ん〜しかし、名前の定義など、つけた覚えもなく、
別のシートを作成した方も、そんなものつけないとおっしゃる…。

それらを一枚のブックにしようと、
コピー(移動)すると、メッセージが山ほど出てくる訳で…。

挿入→名前→定義
で、どんどん増殖する名前の定義を削除していくのですが、
全て消し去っても、また同じようなメッセージが…。

全て消し去ったところで、または、
新たにシートを作った時点で、
勝手に名前の定義を増やさないという設定は出来ないものでしょうか。

よろしくお願いいたします。


  
http://support.microsoft.com/kb/409329/ja
上記のような現象であるとしても、定義された名前が存在してこそ。
元となるブックで定義があるのではないかと推測します。覚えがなくても。
まずは下記は確認されましたか?
>名前定義の確認は元のブックの全てのシートで使用状況も含めて行ってください。
不都合の起こるほうのブックを調べても解決にはなりません。
 
確認のためにコピー(移動)元のブックで下記のプロシージャを実行してみるのも
良いかもしれません。(アクティブなブックが対象になります)
 
 Sub NameListPrint()
     Dim i As Long
     Dim Sh As Worksheet
     Set Sh = Worksheets.Add
     With ActiveWorkbook
         For i = 1 To .Names.Count
             Sh.Cells(i, 1).Value = .Names(i).Name
             Sh.Cells(i, 2).Value = "'" & .Names(i).RefersTo
         Next i
     End With
 End Sub
 
名前定義があれば挿入されたシートに定義状況が列記されます。
あとは、下記で一気に名前定義を削除。
(これもアクティブなブックが対象)
 
 Sub NamesDelete()
     Dim i As Long
     With ActiveWorkbook
         For i = .Names.Count To 1 Step -1
             .Names(i).Delete
         Next i
     End With
 End Sub
 
マクロを使う以外では、
「問題となる名前が名前定義ダイアログボックスでも発見できないときは
挿入>名前>定義 で一度名前を(適当でよいので)定義してみて、
それを削除するとエラーが出なくなる」
という情報もあったけど、現象そのものが再現ができないので未確認。
(みやほりん)(-_∂)b

突然で申し訳ありません。名前の定義を消したくて、下記を試しました。

>名前定義があれば挿入されたシートに定義状況が列記されます。
>あとは、下記で一気に名前定義を削除。
>(これもアクティブなブックが対象)
 

 Sub NamesDelete()
     Dim i As Long
     With ActiveWorkbook
         For i = .Names.Count To 1 Step -1
             .Names(i).Delete
         Next i
     End With
 End Sub

を試したところ、

.Names(i).Delete

でエラーがでました。


 2007/09/17 14:02 削除されていましたので復元。
 (kazu)

私も社内システムからデータを落とすと自動的に名前がついてきてしまうので
下記モジュールを挿入・作成して名前を削除してから各処理をしています。

*******************************************************

Sub 名前の定義削除()

'ブック内のすべての名前の定義を削除する

    j = ThisWorkbook.Names.Count
    For i = j To 1 Step -1
        ThisWorkbook.Names(i).Delete
    Next

End Sub

*******************************************************

ご参考まで。

(な)


コメント返信:

[ 一覧(最新更新順) ]


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