Googleスプレッドシートで「Those columns are out of bounds」のエラーが出る理由と解決方法

Excel

Googleスプレッドシートでマクロを使用していると、エラー「Those columns are out of bounds」が発生することがあります。このエラーは、指定した列や範囲がスプレッドシートの範囲外にある場合に表示されます。初心者でも理解しやすいように、このエラーの原因と解決方法をわかりやすく解説します。

1. エラー「Those columns are out of bounds」の原因

このエラーは、Googleスプレッドシートでマクロ(スクリプト)を実行する際に、指定した範囲の列や行がシートの実際のサイズを超えている場合に発生します。たとえば、100列目を参照しようとしたが、シートの実際の列数が50列しかない場合などです。

マクロで使用しているセル範囲や列番号が正しいか、シートの範囲に収まっているかを確認することが重要です。

2. 列や行の範囲を確認する

マクロのコードにおいて、範囲を指定する際は、シートの最大列数や行数を確認して、そこを超えないようにする必要があります。Googleスプレッドシートは最大で26,000行、18,278列まで対応していますが、それを超える範囲を指定するとエラーが発生します。

具体的には、次のコードのように範囲指定を行っている場合、シート内に存在しない列や行を指定していないか確認してください。

sheet.getRange('A1:Z1000');

上記の例では、A列からZ列まで、1行目から1000行目までの範囲を指定しています。これを実際のシートの範囲に合わせて修正する必要があります。

3. 範囲外の列や行を回避する方法

エラーを回避するためには、マクロで参照するセル範囲がシート内に収まっていることを確認することが大切です。範囲外のデータを使用する場合には、例えば動的に範囲を取得する方法を使用することが有効です。

以下のように、現在のシートの実際の範囲を動的に取得し、その範囲をマクロ内で利用することができます。

var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
var range = sheet.getRange(1, 1, lastRow, lastColumn);

このコードでは、シート内でデータが入力されている最後の行と列を動的に取得して、範囲を指定することができます。

4. マクロのデバッグ方法

エラーが発生した場合、Google Apps Scriptエディタで「デバッグ」機能を使って、どこでエラーが発生しているのかを確認することができます。エラーが発生している箇所を特定し、範囲指定を修正することで、問題を解決できます。

デバッグを行うには、スクリプトエディタで「デバッグ」ボタンをクリックし、コードの実行を一行ずつ追ってエラー箇所を特定します。

5. まとめ

Googleスプレッドシートで「Those columns are out of bounds」のエラーが発生する場合、指定した範囲がシートの実際の列や行を超えている可能性があります。マクロで使用するセル範囲をシートの範囲内に収めるように調整し、動的に範囲を取得する方法を活用することで、エラーを解消できます。

また、デバッグ機能を使って、エラーの発生箇所を特定することも効果的です。これでスムーズにマクロを作成し、Googleスプレッドシートをより効率的に活用できるようになります。

コメント

タイトルとURLをコピーしました