bal*_*ino 0 google-sheets google-apps-script
我想将几行从一张纸移动到另一张纸,但我正在查看的所有脚本都没有解决这个问题。
例如,我想将Sheet1上的A、B、C列移动到Sheet2上的G、I、L列。
这可以做到吗?我对脚本编写非常陌生,并且没有我正在做的事情的示例。
谢谢。
这可以通过简单的代码来完成:
function moveCols() {
var ss = SpreadsheetApp.getActive();
var sourceSheet = ss.getSheetByName('Sheet1');
var destSheet = ss.getSheetByName('Sheet2');
sourceSheet.getRange('A:A').moveTo(destSheet.getRange('G1'))
sourceSheet.getRange('B:B').moveTo(destSheet.getRange('I1'))
sourceSheet.getRange('C:C').moveTo(destSheet.getRange('L1'))
}
Run Code Online (Sandbox Code Playgroud)
如果您只想复制数据(而不移动它),请将 .moveTo() 方法更改为 copyTo()。
编辑:如果您需要将列移动到另一个电子表格,请尝试:
function moveCols() {
var sourceSheet = SpreadsheetApp.getActive()
.getSheetByName('Sheet1'),
destSheet = SpreadsheetApp.openById('ID_OF_DESTINATION_SHEET')
.getSheetByName('Sheet2'),
sourceRanges = ['A:A', 'B:B', 'C:C'],
targetRanges = [7, 9, 12]
.map(function (r, i) {
var sr = sourceSheet.getRange(sourceRanges[i]),
val = sr.getValues();
destSheet.getRange(1, r, val.length, val[0].length)
.setValues(val);
sr.clear()
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3165 次 |
| 最近记录: |