申し訳ありません。質問を勘違いしておりました。
okと書いていないかを基準に判定しながらコピペをしてみました。
普通のコピーより時間がかかってしまいます。
function tera3(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SheetA = ss.getSheetByName('シートA');
var SheetB = ss.getSheetByName('シートB');
var sAmaxRow=SheetA.getDataRange().getLastRow();
var sAmaxColumn=SheetA.getDataRange().getLastColumn();
for(var j=1;j<=sAmaxColumn;j++){
var a = SheetA.getRange(1,j,sAmaxRow,j).getValues();
for(var i=1;i<=sAmaxRow;i++){
if(a[i-1] != "ok" ){
var d = SheetA.getRange(i,j).getValue();
SheetB.getRange(i,j).setValue(d);
}
}
}
}
==修正前===
初心者です。一緒に勉強させてください。
早いのかはわかりませんが、これは違いますか?
それとも .copyTo();でしょうか。
function tera() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SheetA = ss.getSheetByName('シートA');
var SheetB = ss.getSheetByName('シートB');
var sAmaxRow=Sheet01.getDataRange().getLastRow(); //シートAの使用範囲のうち最終行を取得
var sAmaxColumn=Sheet01.getDataRange().getLastColumn(); //シートAの使用範囲のうち最終列を取得
for(var j=1;j<=sAmaxColumn;j++){
for(var i=1;i<=sAmaxRow;i++){
var c = SheetA.getRange(i,j).getValue();
SheetB.getRange(i,j).setValue(c);
}
}
}