Tuesday, February 13, 2007

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

上記のような現象であるとしても、定義された名前が存在してこそ。

元となるブックで定義があるのではないかと推測します。覚えがなくても。 まずは下記は確認されましたか? >名前定義の確認は元のブックの全てのシートで使用状況も含めて行ってください。 不都合の起こるほうのブックを調べても解決にはなりません。   確認のためにコピー(移動)元のブックで下記のプロシージャを実行してみるのも 良いかもしれません。(アクティブなブックが対象になります)   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   マクロを使う以外では、 「問題となる名前が名前定義ダイアログボックスでも発見できないときは 挿入>名前>定義 で一度名前を(適当でよいので)定義してみて、 それを削除するとエラーが出なくなる」 という情報もあったけど、現象そのものが再現ができないので未確認。

No comments: