Google apps script 读取单元地址并传递到一个范围
有人能帮我吗 我试图创建一个基于两个变量“cel1”和“cel2”的范围,并将该范围复制到另一张图纸上 代码如下:Google apps script 读取单元地址并传递到一个范围,google-apps-script,google-sheets,Google Apps Script,Google Sheets,有人能帮我吗 我试图创建一个基于两个变量“cel1”和“cel2”的范围,并将该范围复制到另一张图纸上 代码如下: function EXEMPLO() { var sheet1 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('raw_data'); var sheet2 = SpreadsheetApp.openById('1dpp7Ybge8LRb61a
function EXEMPLO() {
var sheet1 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('raw_data');
var sheet2 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('Dados');
sheet1.getRange('A1').activate();
do {
sheet1.getActiveCell().offset(1,0).activate();
}while (sheet1.getActiveCell().getValue() != 'Data');
sheet1.getActiveCell().offset(1,0).activate();
var cel1 = sheet1.getActiveRange(); \\ reading cell 1 address
sheet1.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
sheet1.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.NEXT).activate();
var cel2 = sheet1.getActiveRange(); \\ reading cell2 address
sheet2.getRange('A1').activate();
sheet2.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
sheet2.getActiveCell().offset(1,0).activate();
sheet1.getRange(cel1+":"+cel2).copyTo(sheet2.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); \\ try to copy the range to another sheet
};
忘掉所有这些激活和抵消 简单一点,你需要两个值。去拿吧
function EXEMPLO() {
var sheet1 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('raw_data');
var sheet2 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('Dados');
var cell1=sheet1.getRange('A1').getValue();
var cell2=sheet1.getRange('A2').getValue();
sheet1.getRange(cell1+":"+cell2).copyTo(sheet2.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
忘掉所有这些激活和抵消 简单一点,你需要两个值。去拿吧
function EXEMPLO() {
var sheet1 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('raw_data');
var sheet2 = SpreadsheetApp.openById('1dpp7Ybge8LRb61axkiOolVFFPE6YuVuslOppxz-CU1g').getSheetByName('Dados');
var cell1=sheet1.getRange('A1').getValue();
var cell2=sheet1.getRange('A2').getValue();
sheet1.getRange(cell1+":"+cell2).copyTo(sheet2.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
要从单个单元格中读取值,请使用
getValue()
值得注意的是,有时您可以通过读取所需的所有单元格值来获得更好的性能结果,方法是取一个包含所有单元格的较大范围,然后使用getValues()
一次获取所有值,最后使用linkvalues[i][k]
获取所需的特定单元格值,因为像getValue()
这样的电子表格服务方法“昂贵”(与使用值[i][k]
相比,它们花费了大量时间)
另外值得注意的是,Google Sheets宏记录器引入了大量的
activate()
,如果您了解如何通过使用范围引用来获取所需的范围,特别是如果引用是绝对的(并不真正依赖于活动单元格),则可以将其删除要从单个单元格中读取值,请使用getValue()
值得注意的是,有时您可以通过读取所需的所有单元格值来获得更好的性能结果,方法是取一个包含所有单元格的较大范围,然后使用getValues()
一次获取所有值,最后使用linkvalues[i][k]
获取所需的特定单元格值,因为像getValue()
这样的电子表格服务方法“昂贵”(与使用值[i][k]
相比,它们花费了大量时间)
另外值得注意的是,Google Sheets宏记录器引入了大量的activate()
,如果您了解如何通过使用范围引用来获取所需的范围,特别是如果引用是绝对的(并不真正依赖于活动单元格),则可以将其删除