Google电子表格没有像Excel中那样“插入剪切单元格”的功能。
假设我选择A4到B5,按Ctrl + X.
然后我将选择移动到A2
现在我想“插入切割单元格”,可能是通过插入空白单元格和moving虚线范围到A2
有没有办法在your own menu上使用JavaScript?
例如
function insertCutOrCopiedCells(){
var SS = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SS.getActiveSheet();
var cell = sheet.getActiveCell();
// How do you get the cells being cut/copied? (ie. A4 to B5)
// We can then insert empty cells (2 cols 2 rows) at the selection (A2)
// and move the cut cells (A4 to B5) there
}
答案 0 :(得分:18)
要在Google工作表中实现插入剪切单元格功能,只需使用拖放即可。首先突出显示要移动的行,然后将鼠标悬停在行号上(您将看到手形图标);然后,按住左键单击,并将鼠标放在行号上,您将看到插入位置的暗线。放开鼠标按钮,然后瞧。
答案 1 :(得分:0)
我认为,你可以分开这个功能。
复制:将getRange与getValue一起使用: link => https://developers.google.com/apps-script/reference/spreadsheet/sheet
删除数据:将getRange与setValue = blank
一起使用示例:
var Spreadsheet=
SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName("number1");
var value = Spreadsheet.getRange(1,0).getValue(); // copy
Spreadsheet.getRange(1,1).setValues(value); // insert
Spreadsheet.getRange(1,0).setValues("");
您可以使用方法复制
示例:
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A:E").copyTo(sheet.getRange("F1"), {contentsOnly:true});
}
答案 2 :(得分:0)
您有两种方法,请在课程Range中查看。
moveTo(target)
从此范围剪切并粘贴(格式和值)到目标范围。
copyTo(destination)
将一系列细胞中的数据复制到另一个细胞范围。值和格式都被复制。
编辑:
要完成您还必须使用的功能:
电子表格中的 insertRowsAfter(afterPosition, howMany)
在给定的行位置后插入多行。
和
getActiveRange()
与getRow()
一起检查选择的位置:
返回当前被视为活动的单元格范围。这通常表示用户在活动工作表中选择的范围,但在自定义函数中,它指的是正在重新计算的单元格。
由于您没有直接访问剪贴板,因此您必须设置侧边栏或无模式对话框,要求从中复制范围,并将其粘贴到所选区域或者相反,将当前选定的区域粘贴到一个输入的ROW上。