0

我的工作表 1 中有一个包含 3 个选项的下拉框,我想根据所选选项将工作表 1 中的数据复制到同一电子表格中的专用工作表,我该怎么做?

4

1 回答 1

0

这是我使用Apps Script的解决方案。如果您想检测下拉列表中的任何更改并将您的原始范围复制粘贴到其他工作表取决于此下拉列表的值,您需要使用onEdit()简单触发器,该触发器将在每次更改单元格的值时运行您的函数(在你的情况下是下拉菜单)。

然后,只需简单地使用方法getValue()setValues()以及getRange(),您就可以根据需要将范围从一个工作表移动到另一个工作表。以下代码包含对示例范围和下拉列表的自我解释性注释,如下所示:

function onEdit() {

  // Get sheet 1
  var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
  // Get sheet 2 
  var sheet2 = SpreadsheetApp.getActive().getSheetByName('Sheet2');
  // Get sheet 3 
  var sheet3 = SpreadsheetApp.getActive().getSheetByName('Sheet3');

  // Get value of dropdown
  var value = sheet.getRange('A1').getValue();

  // Get values of the range in Sheet 1 that we want to copy in other sheets
  var range = sheet.getRange('B1:C2').getValues();

// If dropdown value is A
  if(value=='A'){
    // Set the values of the range you want in sheet 2
    // Bare in mind that for this to work the range in the new sheet must
    // be equal size in rows and columns as from the range we are getting in
    // the original sheet
    sheet2.getRange('B1:C2').setValues(range);
  // If it is B (and you could go on with as many as you want)
  }else if(value=='B'){
    sheet3.getRange('B1:C2').setValues(range);
  }else{

  }
}

在此处输入图像描述

于 2021-01-27T11:48:10.590 回答