所以我對腳本很陌生,而且我有一些作業的動態相關下拉串列。當我清除 A 列中的一個單元格時,它會直接清除它右側的單元格,這很棒。
但是,當我復制并粘貼一行時,它會清除 A 列右側的單元格。我的問題是:有沒有辦法讓一行“復制和粘貼”,所以它不會清除 B 列粘貼?
以下是我所描述的一些影像:[1]:https ://i.stack.imgur.com/F0xOg.png [2]:https ://i.stack.imgur.com/geHuu.png
最后,這是我正在使用的腳本:
function onEdit(){
var tabLists = "Exercise Index";
var spreadsheet = SpreadsheetApp;
var activeSheet = spreadsheet.getActiveSpreadsheet().getActiveSheet();
var data = spreadsheet.getActiveSpreadsheet().getSheetByName(tabLists);
var activeCell = activeSheet.getActiveCell();
if(activeCell.getColumn() == 1 && activeCell.getRow() > 3 && activeSheet.getSheetName().includes("Week")){
activeCell.offset(0, 1).clearContent().clearDataValidations();
var makes = data.getRange(1, 1, 1, data.getLastColumn()).getValues();
var makeIndex = makes[0].indexOf(activeCell.getValue()) 1;
if(makeIndex != 0){
var validationRange = data.getRange(2, makeIndex, data.getLastRow());
var validationRule = spreadsheet.newDataValidation().requireValueInRange(validationRange).build();
activeCell.offset(0, 1).setDataValidation(validationRule);
}
}
}
谷歌表格的副本:https ://docs.google.com/spreadsheets/d/1OrDTJiAlVJRU5tKCA55CoVgnT83_k8n_yz9BkWYpZ_0/edit?usp=sharing
提前致謝!
uj5u.com熱心網友回復:
根據您的回復,我認為您當前問題的原因是由于activeCell.offset(0, 1).clearContent().clearDataValidations()。運行腳本時,活動單元格的右側單元格將被清除。那么,在您的腳本中,如何進行以下修改?
從:
activeCell.offset(0, 1).clearContent().clearDataValidations();
到:
activeCell.offset(0, 1).clearDataValidations();
或者,洗掉activeCell.offset(0, 1).clearContent().clearDataValidations();.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428210.html
