0
私はこれら2つのスクリプトを別々に優れています。 freezeValues()関数は、値を持つセルを数式にコピーし、その値を貼り付けるだけで(数式を削除して値を保持する)、セルの範囲で実行できます。これらの2つのスクリプトを組み合わせて、セルがオレンジ(または任意の色)でハイライト表示されている場合は、「コピー」と「特殊な値を貼り付ける」方法
clearOrange()関数は、背景色がオレンジ色のセルを消去します。これは、条件の書式設定で使用すると効果的です。
オレンジ色で強調表示されているセルをコピーして貼り付けて、セル範囲の数式を効果的に削除できるようにするには、これらのスクリプトの両方の機能が必要です。私はこれらのスクリプトが私のものではないJavaスクリプトと完全な開示に新しいです。これも可能ですか?
function freezeValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('DIARY 2017'); // or whatever name
var range = sheet.getActiveRange(); // assuming your data appears in A1-Z1
range.copyTo(range, {contentsOnly: true});
}
function clearOrange() {
var sheet = SpreadsheetApp.getActive().getSheetByName('DIARY 2017');
var range = sheet.getDataRange();
var bgColors = range.getBackgrounds();
for (var i=0; i<bgColors.length; i++) {
for (var j=0; j<bgColors[i].length; j++) {
if (bgColors[i][j] === '#ff9900') {
range.getCell(i+1,j+1).clearContent();
}
}
}
}