选中 'Check-Box' 时将内容复制到另一个单元格
Copying content to another cell when 'Check-Box' is checked
我试图在复选框被选中时将内容从一个 table 移动到一个 sheet 中的另一个字段。目前,我已经摆弄了一个范围内的复选框,使其像一个单选按钮一样工作,但没有运气试图弄清楚如何将内容复制到另一个单元格。有办法吗?
https://docs.google.com/spreadsheets/d/1fLpPZro_8olt4ASEhIMyzSjjvPeeTlqKlIvAWF4eamk/edit?usp=sharing
*function onEdit(event) {
// Select only one checkbox
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = event.range.getSheet();
if( sheet.getName() === 'Sheet1' ) {
if( event.range.getColumn() === 4 ) {
var range = sheet.getRange(4,4,3,1);
var checks = range.getValues();
var valid = range.getDataValidations();
for( var i=0; i<checks.length; i++ ) {
if( valid[i][0].getCriteriaType() === SpreadsheetApp.DataValidationCriteria.CHECKBOX )
checks[i][0] = false;
}
range.setValues(checks);
event.range.setValue(event.value);
if( event.value === true ) {
event.source.getSheetByName('Sheet1').getRange(4,4,3,1).setValue(event.range.getRow());
}
}
}
}
catch(err) {
SpreadsheetApp.getUi().alert(err);
}
}*
勾选一个复选框将 return 作为布尔值为真。
您可以使用下面的脚本来执行您想要执行的功能。我已经包含了其中一行的解决方案,对于其他行,您只需要在块中添加更多 if
语句。
function onEdit(e){
var xyz = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet11");
if (xyz.getRange("D4").getValue() == true){
var name = xyz.getRange("B4").getValue()
var phone = xyz.getRange("C4").getValue()
xyz.getRange("G4").setValue(name)
xyz.getRange("G5").setValue(phone)
}
else {
xyz.getRange("G4").clearContent()
xyz.getRange("G5").clearContent()
}
}
我试图在复选框被选中时将内容从一个 table 移动到一个 sheet 中的另一个字段。目前,我已经摆弄了一个范围内的复选框,使其像一个单选按钮一样工作,但没有运气试图弄清楚如何将内容复制到另一个单元格。有办法吗?
https://docs.google.com/spreadsheets/d/1fLpPZro_8olt4ASEhIMyzSjjvPeeTlqKlIvAWF4eamk/edit?usp=sharing
*function onEdit(event) {
// Select only one checkbox
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = event.range.getSheet();
if( sheet.getName() === 'Sheet1' ) {
if( event.range.getColumn() === 4 ) {
var range = sheet.getRange(4,4,3,1);
var checks = range.getValues();
var valid = range.getDataValidations();
for( var i=0; i<checks.length; i++ ) {
if( valid[i][0].getCriteriaType() === SpreadsheetApp.DataValidationCriteria.CHECKBOX )
checks[i][0] = false;
}
range.setValues(checks);
event.range.setValue(event.value);
if( event.value === true ) {
event.source.getSheetByName('Sheet1').getRange(4,4,3,1).setValue(event.range.getRow());
}
}
}
}
catch(err) {
SpreadsheetApp.getUi().alert(err);
}
}*
勾选一个复选框将 return 作为布尔值为真。
您可以使用下面的脚本来执行您想要执行的功能。我已经包含了其中一行的解决方案,对于其他行,您只需要在块中添加更多 if
语句。
function onEdit(e){
var xyz = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet11");
if (xyz.getRange("D4").getValue() == true){
var name = xyz.getRange("B4").getValue()
var phone = xyz.getRange("C4").getValue()
xyz.getRange("G4").setValue(name)
xyz.getRange("G5").setValue(phone)
}
else {
xyz.getRange("G4").clearContent()
xyz.getRange("G5").clearContent()
}
}