getRange
は領域の代わりに名前付き範囲を使用できますか?
私はそれをやっているようだが、引数は範囲でなければならないと言います。例えば 、スクリプトを使用して名前付き範囲のGoogleスプレッドシートを持つgetRange
の代わりに:
getRange("A4:E7");
A4:E7
の面積は、シート1に「名前」と呼ばれる名前付き範囲に行われています。
あなたはおそらく使用できます。
var tableRange = SpreadsheetApp.getActiveSpreadsheet();.getRangeByName("Names");
getRange(tableRange);
か、またはそれを行うための他の方法があります。完全なコードは次のとおりです。
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var editedCell = ss.getActiveCell();
var columnToSortBy = 1;
var tableRange = ss.getRangeByName("Names");
if(editedCell.getColumn() == columnToSortBy){
var range = ss.getRange(tableRange);
range.sort({ column : columnToSortBy });
}
}
Googleスクリプトで定義された名前を使用できない理由が分かりません – user1658604
あなたの問題に対する答えではなく、ちょっとした提案です:あなたは 'getActiveCell()'は必要ありません。 editイベントは編集された範囲をスクリプトに渡すので、単に 'event.range.getColumn()'を使うことができます。 – Tharkon