前提・実現したいこと
Googlespread sheetにて、GASを利用し、あるシートAのデータにフィルタをかけ、取得したデータA'を、シートBのデータのある最下行+1から値のみで貼り付ける、というマクロを作成しております。
フィルタをかけたデータの取得方法に関しては、こちらでご教示いただきました。取得したデータA'をgetRangeメソッドにて貼り付けを行おうとしているものの、行数は毎回変わるため、貼り付け先の範囲選択を変数化できず困っております。
①フィルタをかけたデータの行数を都度判断し、貼り付ける。
②貼り付ける際は値のみで貼り付けをおこなう
上記2点についてお教えいただけますと幸いです。
下記スクリプトは、フィルタをかけ取得したデータA'が19行だった際に、getRangeセルに行数を入力して作動した例です。
何卒よろしくお願いいたします。
作動したスクリプト
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetT1 = ss.getSheetByName('hoge1');
var criteria = SpreadsheetApp.newFilterCriteria()
.whenTextContains('hoge2')
.build();
sheet.getFilter().setColumnFilterCriteria(sheet.getActiveRange().getColumn(), criteria);
var values = sheet.getDataRange().getValues().filter(function(_, i) {return !sheet.isRowHiddenByFilter(i + 1)})
sheetT1.getRange(sheetT1.getLastRow()+1,1,19,20).setValues(values);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/17 03:08
2020/07/17 03:21
2020/07/17 03:23
2020/07/17 03:28
2020/07/17 03:38
2020/07/17 03:41