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

Google Sheet: Shift Data Down One row or Add One Row Above Data When Cell B2 Is Not Empty

在 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

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

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

要创建宏:
1 - 从主菜单中选择 "Tools"、"Macros"、"Record macro"。宏状态显示在屏幕底部;可以暂时忽略。
2 - 突出显示屏幕最左侧 "row column" 中的第 2 行;右键单击 Row2,然后选择 "Insert 1 above"。 3 - 现在转到屏幕底部的宏状态并单击 "Save" 并为您的宏指定一个合理的名称和键盘快捷键。
4 - 现在 运行 您的宏使用键盘快捷键,或返回主菜单,"Tools"、"Macros"。您的宏将出现在面板的底部;单击宏名称。
5 - 系统会提示需要授权。单击继续并按照提示进行授权。

就是这样。

您可以创建一个按钮 link 到宏。我会留给你去研究。一个提示:将按钮 in/on/above/ 放在第 1 行,否则当您插入行时,您的按钮将逐渐向下移动到屏幕。

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

我想做类似的事情: 保持冻结行 1 Headers 当我在单元格 A2 中键入内容时添加第 2 行,这样我就可以将数据添加到 sheet 的顶部,而不是滚动到底部。

感谢同事 Domanik,他与我以及 Whosebug 上的其他乐于助人的人一起解决了这个问题,我们创建了这个脚本:

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
  }
}