どうもcoto.です。プログラムを組んでいて、あとで気付くとめちゃくちゃ単純なのに原因がわからなくてハマることって結構ありますよね。
今回はGASのスクリプトを起動したら「対象の範囲の座標がシートのサイズから外れています。」と言われるエラーに対処した事例です。
状況
スプレッドシートに設置したスクリプトを起動したら「Exception: 対象の範囲の座標がシートのサイズから外れています。」というメッセージが表示されて作業が完了しない。
前提
同じ文言のエラーでもスクリプトの内容によって対処法が違うと思うので。今回のスクリプトは以下の条件でした。
・1つのスプレッドシート内で完結
・エラーが出る前までは問題なく動作していた
・スクリプトは書き換えていない
・あらかじめ作成してあるリスト①から一部のデータを抽出して、別のタブにリスト②を作成するスクリプト
対処方法
わざわざ記事にするのもお恥ずかしいのですが…
「貼り付けられる側のスプレッドシートの行数を増やす」だけです。
スプレッドシートは初期設定で1000行ありますが、繰り返し作業していくうちに行が削除され、残りが少なくなっていたのでしょうね。最下部に行を追加するボタンがあるので押すだけでOKです。いやお恥ずかしい。
行数を増やすと解決する、というよりは貼り付けたいデータを貼れるだけのスペースを確保する、というイメージだと思います。もともと英語のエラーメッセージを日本語にしているからでしょうが、「作業領域が足りません」とかのほうがわかりやすいですよね…というより英語のままのほうがまだわかりやすいのでは…
御託
言い訳になりますが、たぶんこれ個人的に使っている場合起きなかったエラー。職場の3,4人が1日2~3回動かす想定のスクリプトなのですが、リスト②は前回分が残っていても自動的に削除してから新規作成されるようにしたので、手動で行を削除するなんて考えていませんでした。まあ私がそんな細かい部分を説明するわけもないので、邪魔な部分を消してからリスト作成してくれていたんでしょうね。なーんか最近動かなくなったなーと思ったらこんな感じでした。
同じ部分でハマったどなたかのお役に立てばうれしいです。ではまた。
コメント