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