前提
別のシートからセルを転記させるためにシートを作成しました。
GASについて詳しくないのでご教示お願いします。
実現したいこと
①と②のページを作成し、それぞれのページを別のシートに転記させたい。
プルダウンから選択→転記→値のみ削除
①のページは削除が上手くいくのですが、②は転記後に削除ができず文字が残ってしまいます。
発生している問題・エラーメッセージ
範囲の行数には 1 以上を指定してください。
②だけ削除させません。
該当のソースコード
function myFunction() { //転記先シートの指定 var ss = SpreadsheetApp.getActiveSpreadsheet(); var css = ss.getSheetByName("転記先"); var klr = css.getLastRow(); Logger.log(klr); //転記先シートT列~W列の取得 var gkl = css.getRange(2,20,klr-1,16).getValues(); var gkl2 = gkl.flat(); //Logger.log(gkl); //配列化 var id = []; for(var i=0; i<gkl.length; i++){ if(gkl[i][0] === gkl[i][0]) { id.push(gkl[i][3]); } } //Logger.log(id); //1次元化 var gpv = css.getRange(2,23,klr,1).getValues(); var gpvf = gpv.flat(); //Logger.log(gpvf); //転記 for(var j = 0; j<gkl2.length; j++){ var check = id.indexOf(gpvf[j]); //可否の判定 if(check >= 0){ //確認 css.getRange(j+2,20,1,1).setValue(gkl[j][12]); //処理指示 css.getRange(j+2,28,1,1).setValue(gkl[j][15]); } } var mss = SpreadsheetApp.openById("転記先URL"); var msheet = mss.getSheetByName("①"); var slr = msheet.getLastRow(); msheet.getRange(2,13,slr-1,2).clear({ formatOnly: false, contentsOnly: true }); var mksheet = mss.getSheetByName("②"); var sklr = mksheet.getLastRow(); mksheet.getRange(2,13,sKlr-1,2).clear({ formatOnly: false, contentsOnly: true }); }
試したこと
①を削除する構文を消して、②だけ削除する構文を試したところ問題なく削除できました。①と②の両方を削除するのがいけないのでしょうか。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/06 07:38
2022/04/06 07:53
2022/04/06 08:35
2022/04/06 09:18
2022/04/07 01:54
2022/04/07 04:03