C# コードで NAmesManager から名前を削除する際に問題に直面しています。私の要件に従って、Names Manager からすべての無効な名前を削除する必要があります。現在、名前の値を確認して、値が「#REF!」の場合は削除しています。これは私が使用しているコードです
foreach (Name RangeName in namesManager2)
{
if(RangeName.Value.Contains("#REF!"))
{
RangeName.Delete();
}
}
コードは正常に動作しますが、名前が同じでスコープが異なる 2 つの名前が存在するという奇妙な状況がいくつかあります。セル 1 の名前が「TESTNAME」でスコープが「Workbook」で、セル 2 の名前も「TESTNAME」でスコープが「Sheet1」であるとします。Cell2 を参照する名前には有効な値があります。
そのため、「#REF!」を含む名前の場合はループしています。値が検出された場合、上記のコードは両方の名前を削除しています。有効な値を持つ名前を保持したいが、無効な名前だけを削除したい。
誰かがこれを達成する方法を提案できますか?