我正在尝试找到一个脚本,当我在其中添加我的部件号和数量时添加到我的列表中,当输入错误的部件号时,它会显示错误消息,显示无效的部件号。
我不确定自己是否走在正确的轨道上。这就是我目前所拥有的。
function addQty() {
var ssheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ssheet.getSheetByName('List');
var inputPartnum = ssheet.getRange("K2").getValue();
var inputQty = ssheet.getRange("$L$2").getValue();
var partNum1 = ssheet.getRange("I").getValue();
if (inputPartnum=partNum1){
var num1 = ssheet.getRange("C").getValue();
ssheet.getRange("C").setValue(inputQty+num1);
ssheet.getRange('K2').clear();
ssheet.getRange('L2').clear();
}
else {
catch (error) {
throw new Error( "Part Number Not Found" );
ssheet.getRange('K2').clear();
ssheet.getRange('L2').clear();
}
}
}
答案 0 :(得分:0)
你很亲密。您需要循环查看部件号以查找匹配项。试试这个:
function addQty() {
var ssheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ssheet.getSheetByName('List');
var lr= sheet.getLastRow()
var inputPartnum = sheet.getRange("K2").getValue().toLowerCase();
var inputQty = sheet.getRange("$L$2").getValue();
var partNum1 = sheet.getRange(6,9,lr,1).getValues();//Array of part numbers
var count=0 //Set counter
for(var i=0;i<partNum1.length;i++){ //Loop through part numbers
if (inputPartnum == partNum1[i][0].toLowerCase()){
var num1 = ssheet.getRange("C"+(i+6)).getValue(); //Get current part count
ssheet.getRange("C"+(i+6)).setValue(inputQty+num1);
count=count+1 //Add to count if a match is found
ssheet.getRange('K2').clear();
ssheet.getRange('L2').clear();
break
}}
if(count==0){// If no matching part number is found give message.
Browser.msgBox( "Part Number "+inputPartnum+" Not Found" );
ssheet.getRange('K2').clear();
ssheet.getRange('L2').clear();
}}
我更改了脚本以获取所有部件号。如果这不是你想要的,请解释你的目标。