更新行的按钮

问题描述 投票:0回答:2

我不太喜欢某些股票经纪商的 GUI,因此我尝试在 Google 表格上跟踪我的一些资产。

如何根据特定日期创建手动(单击按钮)或自动触发器来编辑单元格的值或向新单元格添加新条目?

触发器示例:

  1. 在股息支付日增加现有股份。
  2. 每晚/每周公司/一组公司的利润/亏损新条目。

Sudo 逻辑示例:

  1. 当 TODAY() == 2/2/2018(单元格中保存的任何可变日期)时,使用 reinvested_shares + current_shares 更新单元格 [当前股票]。
  2. 在下一个可用单元格中创建一个包含当天损益的新条目。新条目将是静态的并且永远不会改变。这可以是手动触发或自动触发的按钮。

由于您没有包含单元格信息的电子表格,因此我们将非常感谢任何示例模板(带注释)。

google-apps-script triggers google-sheets
2个回答
1
投票

经过多次尝试和错误,我能够创建一个手动按钮来更新并将新行插入到工作表中。

示例:

enter image description here

目标是复制/保存第 2 行的值,在下面创建一个新行,并将这些值放入新创建的第 3 行,而不修改下面的任何其他值。

插入->绘图->形状

画一个盒子,将其标记为“更新”。

工具->脚本编辑器

粘贴/保存:

function updateInfo() 
{
  var date = Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var stats_sheet = ss.getSheets()[1];
  stats_sheet.insertRowBefore(3);

  var todays_cells = SpreadsheetApp.getActiveSheet().getRange("A2:D2").getValues();
  var update_todays_cells = stats_sheet.getRange("A3:D3");
  update_todays_cells.setValues(todays_cells);
}   

右键单击该框,单击 3 个点,分配给 script->“updateInfo”(不带引号)

单击该按钮将导致以下结果: enter image description here


0
投票

您很可能需要为此编写一个脚本。

脚本循环访问数据,检查条件,更新单元格。

如果您有很多单元格需要检查,最好将所有需要的行和列作为数组拉入脚本中,更新数组,然后将数组转储回电子表格。速度更快,并且可能防止超时。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.