Google表格:当单元格B2不为空时,将数据向下移动一行或在数据上方添加一行

时间:2018-10-04 16:30:50

标签: google-sheets google-sheets-query google-sheets-macros

在Google表格中,我希望将数据插入B2后自动将所有行向下移动1行。

无论插入多少数据,我都希望保持清晰的第2行,例如下面提供的示例:

Row 1   Data1   Data2   Data3   Data4   Data5   Data6
Row 2                       
Row 3   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 4   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 5   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 6   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 7   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 8   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 9   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe

我知道我可以手动插入行,但是我正在寻找一种方法来加快工作中的数据输入速度。任何输入表示赞赏。如果可以的话,我不介意将功能捆绑到工作表顶部的按钮中。

2 个答案:

答案 0 :(得分:1)

最佳和最有效的解决方案是创建一个宏,以在Row2上方插入新行。

要创建宏:
1-从主菜单中,选择“工具”,“宏”,“记录宏”。宏状态显示在屏幕底部。您暂时可以忽略它。
2-在屏幕最左侧的“行列”中突出显示第2行;右键单击第2行,然后选择“在上方插入1”。 3-现在转到屏幕底部的宏状态,然后单击“保存”,并为您的宏指定一个明智的名称和键盘快捷键。
4-现在,使用键盘快捷键运行宏,或返回主菜单“工具”,“宏”。您的宏将出现在面板的底部;点击宏名称。
5-系统将提示需要授权。单击继续,然后按照提示进行授权。

就是这样。

您可以创建一个按钮以链接到宏。我留给你研究。提示:将按钮放在第1行中/上方/上方,否则当您插入行时,按钮将逐渐在屏幕上向下移动。

FWIW,Infoinspired有一个关于How to Record and Run Macros in Google Sheets的很好的教程。

答案 1 :(得分:0)

我想做类似的事情: 保留带有标题的冻结行 1 在单元格 A2 中键入时添加第 2 行,以便我可以将数据添加到工作表顶部,而不是滚动到底部。

感谢我的同事 Domanik,他与我和其他在 stackoverflow 上有帮助的人一起完成了这项工作,我们创建了这个脚本:

function onEdit(e) {
  var myRange = SpreadsheetApp.getActiveSheet().getRange('A2:A2000'); //<<< Change Your Named Ranged Name Here

  //Let's get the row & column indexes of the active cell
  var row = e.range.getRow();
  var col = e.range.getColumn();

  //Check that your active cell is within your named range
  if (col >= myRange.getColumn() && col <= myRange.getLastColumn() && row >= 
    myRange.getRow() && row <= myRange.getLastRow()) { //As defined by your Named Range
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];
    sheet.insertRowBefore(2);//Replace Your Custom Code Here
  }
}