3

私は現在このスクリプトを持っています:

function addConsultant()
{
var sheet_staffing = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Staffing"); 
var sheet_parametres = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parametres");
var range_tabConsultant_default = sheet_parametres.getRange(26,1,6,64);
var row_position_newTab = sheet_parametres.getRange(1,1).getValue();
range_tabConsultant_default.copyFormatToRange(sheet_staffing, 1, 36, row_position_newTab, row_position_newTab + 6);
range_tabConsultant_default.copyValuesToRange(sheet_staffing, 1, 36, row_position_newTab, row_position_newTab + 6);
sheet_parametres.getRange(1,1).setValue(row_position_newTab+6);
}

これはデフォルトのタブのようなもので、1人につき1つのタブですが、数式をdefタブからスクリプトで作成されたタブにコピーする方法がわかりません。誰かがこれを手伝ってくれますか?

4

3 に答える 3

3

クラスのgetFormulasメソッドとgetFormulasR1C1メソッドを見てくださいRangesetFormulas対応するまたはを使用する必要もありますsetFormulasR1C1

[編集:コメントに答える]

マルチセル範囲の場合は、混合値と数式をコピーしています。1つのセルには1つしか持てないため、呼び出しを値または数式のいずれかで複数のセットに分割する必要があります(または、プレーンな値を単純な数式に解析します(例:= "value")。

数式を参照に「従う」set/getFormulasR1C1には、単純な表記の代わりに表記を使用しset/getFormulasます。

于 2012-06-11T13:13:54.893 に答える
0

スクリプトがユーザーがこの関数で見ている現在のシートを使用した場合はどうなりますか?GetActiveSheet

于 2012-06-11T12:52:11.293 に答える
0

相対参照を使用して数式A1を範囲にコピーする方法の例を次に示します。A2:A

var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange("A2:A").setFormulaR1C1(sheet.getRange("A1").getFormulaR1C1());
于 2019-07-25T09:20:11.027 に答える