Budには、ワークブックに50または60の定義済みの名前があります。これらの多くで、彼は$ Q $ 4の出現を$ Q $ 3に変更する必要があります。 Budは、これらをName Managerでプルアップして個別に編集できますが、手動ではない方法でそれを行う方法があるかどうか疑問に思っています。

この問題に取り組むには2つの方法があります。 1つ目は、「チート」を試みて、Excelに変更を行わせることです。現在のセルQ3を選択してから、そのセルを削除し、セルを上に移動します。これにより、現在のQ4がQ3に移動し、Excelはすべての参照(定義された名前を含む)を更新して、Q3を参照するようにする必要があります。

もちろん、削除を行うとワークシートのレイアウトが台無しになる場合、これは機能しません。その場合、マクロに依存する2番目のアプローチを使用する方が適切です。マクロは、定義された各名前を簡単にステップスルーして、置き換えることができます。非常に簡単な例を次に示します。

Sub ReplaceFormulasInNames()

Dim n As Integer

For n = 1 To Names.Count         Names(n).RefersTo = Replace(Names(n).RefersTo, "$Q$4", "$Q$3")

Next End Sub

マクロは各名前のRefersToプロパティを調べ、テキスト$ Q $ 4が含まれている場合は、$ Q $ 3に変更されます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13654)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。