forループで1つ1つ処理していくのはいかがでしょうか。
javascript
1function celdelete() {
2 var ss = SpreadsheetApp.getActiveSpreadsheet();
3
4 for (var i = 0; i < ss.getSheets().length; i++) {
5 var sheet = ss.getSheets()[i];
6 var range = sheet.getRange(3,7,51,9);
7 range.clearContent();
8 }
9}
for()の中の、ss.getSheets().length
でスプレッドシートに存在するシートの数を取得しています。
これにより、存在する全てのシートに処理されます。
全てのシートではなく、●枚目〜●枚目と範囲を指定したい場合は、for()の中を書き換えます。
javascript
1for (var i = 1; i < 5; i++) {...} // 2〜5枚目
2for (var i = 2; i < ss.getSheets().length; i++) {...} // 3枚目〜最後まで
3for (var i = 0; i < ss.getSheets().length - 1 ; i++) {...} // 1枚目〜最後から2枚目まで
補足
.getSheets()[]
の[ ]
の中には基本的に1つしか書けません。これは多くのプログラミング言語で採用されているルールです。
.getSheets()では、スプレッドシートの中にあるシートを全て取得した上で、配列というものに格納されています。
[sheet1, sheet2, sheet3]
というような形です。
配列の取り扱いルールにより、1番目を参照したいときは、[sheet1, sheet2, sheet3][0]
と書きます。
しかし、複数参照したいからといって、[sheet1, sheet2, sheet3][0,2]
とは書けません。
つまり、.getSheets()[0,2]
とも書けないわけです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/26 14:45
2022/09/26 18:45