>
我正在尝试编写一个脚本,它将从一个工作表上的范围复制数据,并在B列的第一个空单元格中粘贴到另一个。我有一个脚本,可以将其粘贴到工作表中的第一个空单元格中这工作正常,但是我在列A中有一行静态的身份证号码,所以当它粘贴数据时,它就在工作表的下面。所以,我需要一种跳过列A并粘贴到列B中的第一个空单元格的方法。希望这有意义。
另一部分是B列中有时会有空单元格。所以它需要跳过这些来获得最后一个空单元格。
我找到了一个教程来获取最后一个空单元格,并使其工作正常,但不知道如何将其合并到粘贴数据的函数中。这是我到目前为止所拥有的:
function myFunction() {
var sss = SpreadsheetApp.openById('1dp5s8G9vFF5LzF5mAaY-JoySLGekh5UKHwt6jFcGOnA');
var ss = sss.getSheetByName('Form');
var range = ss.getRange('A8:H');
var data = range.getValues();
var tss = SpreadsheetApp.openById('1Vq_xX9cbC6OBAh1IRKsVKSPQvc5FEUFsJ2mlPzuFZ6o');
var ts = tss.getSheetByName('Data');
var columnToCheck = ts.getRange("B:B").getValues();
var lastRow = getLastRowSpecial(columnToCheck);
Logger.log(lastRow)
};
function getLastRowSpecial(range){
var rowNum = 0;
var blank = false;
for(var row = 0; row < range.length; row++){
if(range[row][0] === "" && !blank){
rowNum = row;
blank = true;
}else if(range[row][0] !== ""){
blank = false;
};
};
return rowNum;
};
>
所以基本上我需要一个函数,它将在由lastRow确定的单元格上设置值(数据)
或者,如果有人对如何以不同的方式实现这一目标有任何建议,我很乐意听听。
>
然后,您的目标是使用返回的值lastRow
,并使用setVales从lastRow 1
开始设置数据。
ts.getRange(lastRow+1,2,data.length,data[0].length).setValues(data);
我在脚本中所做的另一个修改是,我没有获取完整的数据
范围,而是只获取最后一行内容。如果这不适用于您,则跳过该部分并使用您的解决方案。这是修改后的第一部分:
var range = ss.getRange('A8:H'+ss.getLastRow());
我只修改了myFunction
:
function myFunction() {
var sss = SpreadsheetApp.openById('1dp5s8G9vFF5LzF5mAaY-JoySLGekh5UKHwt6jFcGOnA');
var ss = sss.getSheetByName('Form');
var range = ss.getRange('A8:H'+ss.getLastRow()); // new code
var data = range.getValues();
var tss = SpreadsheetApp.openById('1Vq_xX9cbC6OBAh1IRKsVKSPQvc5FEUFsJ2mlPzuFZ6o');
var ts = tss.getSheetByName('Data');
var columnToCheck = ts.getRange("B:B").getValues();
var lastRow = getLastRowSpecial(columnToCheck);
ts.getRange(lastRow+1,2,data.length,data[0].length).setValues(data); // new code
};
function getLastRowSpecial(range){
var rowNum = 0;
var blank = false;
for(var row = 0; row < range.length; row++){
if(range[row][0] === "" && !blank){
rowNum = row;
blank = true;
}else if(range[row][0] !== ""){
blank = false;
};
};
return rowNum;
};
我有以下脚本: 这是我找到脚本的原始帖子:https://support.google.com/docs/forum/AAAABuH1jm0hR40qh02UWE/?hl=en 我想对代码做一些小的调整,但不知道从哪里开始。 目前,当在G列中输入“Y”时,它复制整行,并将行内容放在ORDERS!的最后一行!。 我想让它做的是: 1) 仅复制订单最后一行上的B、C和E列!2) 在中删除E和F中的值!
我写了一个google脚本来创建和粘贴从一个单元格到另一个单元格的值(相同的电子表格)。该守则包括以下两个步骤: > (不工作):将相邻单元格的新值粘贴到第二张工作表中下一个空行(第1列)的单元格中。 下面的代码是我迄今为止尝试过的代码,但第二页上没有显示该值。有人知道我在下面的尝试中的问题在哪里吗? 谢谢你
我有第一部分,但在挣扎第二部分:
我写了下面的代码,并不断地看到。我试图克服这个问题,但似乎没有任何效果。我正试图从一个工作簿复制整个工作表,并将其粘贴到另一个工作簿中:
我需要从一个工作簿复制棕褐色单元格并粘贴到另一个工作簿中。并且只需要在Excel中获取特定的单元格值。我实现了这一点,但只能粘贴到同一工作簿中的另一个工作表中。你能帮助我在粘贴数据到另一个工作簿上的一个特定的工作表,也应该粘贴的值在第二行,(即从第二行开始),因为第一行有标题在它。 源表标题: 项目阶段状态st Dt结束Dt预资源备注备注 Dest表标题: 现有代码:
我想复制主控表最后一行的数据,该主控表使用google表单填充,并将其粘贴到提交表单时创建的新表单中。现在,我希望新工作表自动将某些文本放入特定单元格,并将最后一行的数据复制到某些特定单元格中。示例-:母版图纸 现在我想将单元格b2中的数据(假设2是最后一行)从单元格c2复制到单元格b1中新创建的工作表中,从单元格c2复制到单元格b3,从单元格d2复制到单元格b4,从单元格AL2复制到单元格h20