用于在多个工作表中填充单元格的下拉选择

Dropdown selection to populate a cell in multiple sheets

提问人:Rachel Skuse 提问时间:10/19/2023 最后编辑:Rachel Skuse 更新时间:10/20/2023 访问量:47

问:

我在工作表1(概述)上有一个下拉列表,我需要隐藏同一工作表中的行,并在进行特定选择时在多个其他工作表(工作表)中填充单元格

如果下拉列表 = 实现,则隐藏 sheet1 中的 2 行,并使用值“5”填充单元格 A1

这就是我所拥有的,但尽管脚本运行没有错误,但它似乎不起作用

var overview = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Overview');
var ss = SpreadsheetApp.getActiveSpreadsheet();


["T1", "T2", "T3", "T4", "T5", "T6"].forEach(function (s) {
var sheet = ss.getSheetByName(s);

var dropdownValueEnglish = overview.getRange("E80:F80").getValue();
var targetRangeEnglish = sheet.getRange("B69:F69");

var dropdownValueEnglish = overview.getRange("E80:F80").getValue();
var targetRangeEnglish = sheet.getRange("B69:F69");
if (dropdownValueEnglish == "ACHIEVED") {
  overview.hideRows(81, 2);
  sheet.getRange("F71").setValue("5");
}
else {
  overview.showRows(81, 2);
  sheet.getRange("F71").setValue("");
}

我想知道这是否是因为我的下拉列表位于 2 个合并单元格中,但我尝试先将值复制到单个单元格中,但它仍然不起作用。提前感谢您能给我的任何帮助。

google-apps-script 下拉列表显示 -隐藏 setvalue

评论

1赞 Saddles 10/19/2023
您是否能够共享虚拟数据供社区复制?如果它包含敏感信息,则它不必完全是您的数据。这只是为了让我们可以可视化和复制您所拥有的作为最小的、可重复的示例

答:

0赞 Cooper 10/20/2023 #1

如果希望获取“E80:F80”中的值,则必须使用 getValues() 并返回一个 2d 数组。这应该只使用 E80 来工作,如果它不是你想要的,请提供更多的解释。

function dropdownSelectionToPopulateacell() {
  //https://stackoverflow.com/questions/77322218/dropdown-selection-to-populate-a-cell-in-multiple-sheets
  var ss = SpreadsheetApp.getActive();
  var osh = ss.getSheetByName('Sheet0');
  ["T1", "T2", "T3", "T4", "T5", "T6"].forEach(s => {
    var sh = ss.getSheetByName(s);
    var dve = osh.getRange("E80").getValue();
    if (dve == "ACHIEVED") {
      osh.hideRows(81, 2);
      sh.getRange("F71").setValue("5");
    }
    else {
      osh.showRows(81, 2);
      sh.getRange("F71").setValue("");
    }
  });
}