詳しく説明すると、ワークブックに 2 つの名前付き範囲があるとします。両方の名前付き範囲の名前は同じですが (「myName」としましょう)、一方はシート 1 にスコープされ、もう一方はワークブックにスコープされます。
名前付き範囲の名前 (文字列) を指定して、ワークブック レベルの名前付き範囲を取得します。
ネイティブ コール: を使用するとwb.Names.Item("myName")
、シート スコープの名前付き範囲が返されます。
代わりに: を実行するwb.Names.Item("Sheet1!myName")
と、明らかにシート スコープの名前範囲が返されます。これを使用してシート固有のものを指定できることがわかりましたが、ワークブックのものは指定できません。
とにかく、ワークブックの範囲を指定できるものはありますか?
私の回避策は現在、すべての名前のリストを反復処理し、.Name プロパティを比較してワークブック スコープの名前付き範囲を取得することです。これが機能するのは、.Name プロパティが「Sheet1!」を追加するためです。シート スコープの名前付き範囲に。ただし、これは非常にコストがかかるため、避けたいと思います。