Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Googlesheet-如何跳过宏循环中的空单元格并继续填充单元格?_Google Apps Script - Fatal编程技术网

Google apps script Googlesheet-如何跳过宏循环中的空单元格并继续填充单元格?

Google apps script Googlesheet-如何跳过宏循环中的空单元格并继续填充单元格?,google-apps-script,Google Apps Script,如果有人能帮忙,我将不胜感激 我正在编辑一个宏,该宏涉及将数据从工作表a(IB)复制/粘贴到工作表B(入站POs)。但是,它会复制工作表A中的空单元格,并覆盖工作表B中我不需要的已填充单元格。有人能帮忙吗?代码如下: if (e.source.getActiveSheet().getName() === 'IB' && editedCol === 4 && editedRowStart > 1) { var ibSheet = SpreadsheetApp.

如果有人能帮忙,我将不胜感激

我正在编辑一个宏,该宏涉及将数据从工作表a(IB)复制/粘贴到工作表B(入站POs)。但是,它会复制工作表A中的空单元格,并覆盖工作表B中我不需要的已填充单元格。有人能帮忙吗?代码如下:

if (e.source.getActiveSheet().getName() === 'IB' && editedCol === 4 && editedRowStart > 1) {
var ibSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('IB')
var ibSheetData = ibSheet.getDataRange().getValues()
var updatedPOs = []
var updatedDates = []
for (var i = editedRowStart - 1; i < editedRowEnd; i++) {
updatedPOs.push(ibSheetData[1])
updatedDates.push(ibSheetData[3])
}
var updatedObject = Object.assign(...updatedPOs.map((PO, i) => ({[PO]: updatedDates})))
var inboundPOSheet = e.source.getSheetByName('Inbound POs')
var inboundPOSheetLastRow = inboundPOSheet.getLastRow()
var inboundPOSheetData = inboundPOSheet.getDataRange().getValues()
for (var i = 1; i < inboundPOSheetLastRow; i++) {
var inboundPO = inboundPOSheetData[1]
if (updatedPOs.includes(inboundPOSheetData[1])) {
inboundPOSheet.getRange(i+1, 19).setValue(updatedObject[inboundPO])
}
}
} SummarySheet.getRange(36,3).setValue(currentDate);
}
if(e.source.getActiveSheet().getName()=='IB'&&editedCol==4&&editedRowStart>1){
var ibSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('IB'))
var ibSheetData=ibSheet.getDataRange().getValues()
var updatedPOs=[]
var updateDates=[]
for(var i=editedRowStart-1;i({[PO]:updatedates})))
var inboundPOSheet=e.source.getSheetByName('inboundpos')
var inboundPOSheetLastRow=inboundPOSheet.getLastRow()
var inboundPOSheetData=inboundPOSheet.getDataRange().getValues()
对于(变量i=1;i

谢谢大家!

我不确定我是否理解你想要实现的目标。您希望将一些数据从
IB
复制到
入站POs
,但您希望(1)避免在行中的某些单元格(哪些单元格??)为空时复制,以及(2)不要覆盖
入站POs
中的现有数据,但可能会将数据附加到第一个空行?你能澄清这一切吗?也许一些视觉信息有助于理解预期结果(截图?电子表格副本?)Hello@lamblichus这是正确的,我正在尝试将日期从IB选项卡中的“实际交货日期”复制到入站PO选项卡中相应的PO“实际交货日期”,但我不希望对IB选项卡中的空单元格执行此操作。图片如下![有效的XHTML](D:\Users\pkoh\Pictures\IB tab.PNG)![Valid XHTML](D:\Users\pkoh\Pictures\Inbound Pos tab.PNG)。您好,您没有提供指向这些屏幕截图的有效链接。请考虑编辑你的问题并添加它们,这样更容易添加图片(请参阅)。