【问题标题】:How to replace cell with new text macro google sheets如何用新的文本宏谷歌表替换单元格
【发布时间】:2021-07-21 18:09:15
【问题描述】:

尝试创建一个按钮以将单元格 A1 - sheet1、单元格 E1 - sheet2 和单元格 E1 sheet3 的内容替换为“Card_Id”。每个单元格包含不同的文本,我想对齐标题,因为它们中的数据是相同的。工作表中的数据和标题每天都会被更新的数据替换,因此希望单击一个按钮,所有标题都会对齐。

试过用这个但是没用:

  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A1').activate();
  spreadsheet.getCurrentCell().setValue('Card_Id');
  spreadsheet.getRange('A2').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Checklist items'), true);
  spreadsheet.getRange('E1').activate();
  spreadsheet.getCurrentCell().setValue('Card_Id');
  spreadsheet.getRange('E2').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Card Updates'), true);
  spreadsheet.getCurrentCell().setValue('Card_Id');
  spreadsheet.getRange('E2').activate();
};```

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    根据您的脚本,在第 3 个spreadsheet.getCurrentCell().setValue('Card_Id'),单元格“A1”被激活。这样,在“卡片更新”表中,该值被放入单元格“A1”中。我认为这可能是您的问题的原因。

    根据Trying to create a button to replace the contents of cell A1 - sheet1, cell E1 - sheet2 and cell E1 sheet3 with "Card_Id". 和您的脚本,我认为您的sheet1sheet2sheet3 可能分别是活动表Checklist itemsCard Updates。如果我的猜测是正确的,那么下面的修改呢?

    修改脚本:

    当你的脚本被修改后,变成如下。

    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.getRange('A1').activate();
    spreadsheet.getCurrentCell().setValue('Card_Id');
    spreadsheet.getRange('A2').activate();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Checklist items'), true);
    spreadsheet.getRange('E1').activate();
    spreadsheet.getCurrentCell().setValue('Card_Id');
    spreadsheet.getRange('E2').activate();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Card Updates'), true);
    spreadsheet.getRange('E1').activate(); // Modified
    spreadsheet.getCurrentCell().setValue('Card_Id');
    

    或者

    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.getRange('A1').setValue('Card_Id');
    spreadsheet.getRange("'Checklist items'!E1").setValue('Card_Id');
    spreadsheet.getRange("'Card Updates'!E1").setValue('Card_Id');
    
    • 如果你想把按钮放到另一个工作表上,你可以通过设置第一个工作表名称来使用下面的脚本。

        var spreadsheet = SpreadsheetApp.getActive();
        spreadsheet.getRange("'Sheet1'!A1").setValue('Card_Id');
        spreadsheet.getRange("'Checklist items'!E1").setValue('Card_Id');
        spreadsheet.getRange("'Card Updates'!E1").setValue('Card_Id');
      
      • 在这种情况下,请将第一个工作表名称从 Sheet1 替换为您的实际工作表名称。

    参考资料:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多