2016-07-30 80 views
3

シートにいくつかの名前付き範囲を定義し、後で削除しました。その後、範囲はサイドバー「データ - >名前付き範囲...」に残り、範囲は「#REF」になります。私はそれらを蓄積したくないので、それらを削除したいと思います。GASで無効な名前付き範囲を削除する

これらはSpreadsheetApp.GetActiveSpreadsheet.getNamedRanges()に記載されていません。

どうすればプログラムで削除できますか?

シートを削除したときに削除される名前付き範囲を定義する方法が、代わりの方法です。これは、シートに重複して名前付き範囲があり、名前付き範囲に「 'Sheet1Copy'!RangeName」という名前がある場合に発生しますが、このような名前を定義することはできません。

+1

コマンドのスペルが間違っています。正しいスペルは次のとおりです: 'SpreadsheetApp.getActiveSpreadsheet()。getNamedRanges()' –

答えて

2

removeNamedRange(name)を使用して名前付き範囲を削除します。 #REFの名前付き範囲でも機能します!範囲として返され、SpreadsheetApp.getActiveSpreadsheet().getNamedRanges()によって返されません。

スプレッドシートを#REFで名前付き範囲から解放しやすくするために、範囲として、指定された範囲のリストを保持します。あなたは補助的なスプレッドシートを使うことができます。

+0

ありがとうございます。私は、getNamedRanges()関数の通常の動作ではないと思います。 "#REF"の範囲は表示されませんが、名前の付いた範囲のリストに表示され、非常に迷惑です。これを解決する未解決の問題はありますか? –

+0

@MaxMakhrov:私はこれについての特定の問題をまだ見つけられませんでした。 –

関連する問題