我有一个“旅行费用”表,其中所有来自不同货币的费用都通过googlefinance转换为美元。我需要将该金额复制到另一个单元格中以形成月度报告,这样,如果货币汇率在一个月内发生显着变化,则可以存储正确的金额。
基本上,如果U列中的单元格不是空白=>将其复制到V中的相邻单元格。
我将以下代码用于:1)时间戳(完美工作)2)复制货币(有效,但不是我所需要的)。
function onEdit(e)
{var ss = e.source.getActiveSheet();
if (ss.getName() != "123") // i use this for testing
{
var actRng = ss.getActiveRange();
var editColumn = actRng.getColumn();
var rowIndex = actRng.getRowIndex();
var headers = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("Date of expence") + 1;
var orderCol = headers[0].indexOf("Name") + 1;
if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
{
ss.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "UTC+8", "dd-MM-yy"));}
}
{
var source = ss.getRange ("U3:U400");
source.copyTo (ss.getRange ("V3:V400"), {contentsOnly: true});}
}
我想应该用2种不同的脚本来完成。这是我第一次使用Google脚本,因此对我来说很困惑)
将接受所有建议,谢谢!!
答案 0 :(得分:0)
尝试一下:
on Edit(e) {
if(!e.range.getSheet().getRange(e.range.rowStart,23).isBlank()) {
e.range.getSheet().getRange(e.range.rowStart,24).setValue(e.range.getSheet().getRange(e.range.rowStart,23).getValue())
}