Javascript 如果单元格为空,请跳过并转到下一个单元格
我正在使用一些代码,这些代码将获取预定义的范围,并将数据复制到与a列同名的工作表中。我遇到的问题是,如果a列有一个空白单元格(这是必需的),那么我会收到一个错误,在该错误中,它报告说“无法调用null的“getRange”方法。”如果该单元中有数据,则它工作正常 我尝试过的一些事情包括过滤范围,但是,代码仍然读取范围,即使它是隐藏的。我也尝试过编写if/then语句,但没有成功Javascript 如果单元格为空,请跳过并转到下一个单元格,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在使用一些代码,这些代码将获取预定义的范围,并将数据复制到与a列同名的工作表中。我遇到的问题是,如果a列有一个空白单元格(这是必需的),那么我会收到一个错误,在该错误中,它报告说“无法调用null的“getRange”方法。”如果该单元中有数据,则它工作正常 我尝试过的一些事情包括过滤范围,但是,代码仍然读取范围,即使它是隐藏的。我也尝试过编写if/then语句,但没有成功 这是我所指的空白单元格的截图: 正在使用的代码: var ss=SpreadsheetApp.getActiveS
这是我所指的空白单元格的截图:
正在使用的代码:var ss=SpreadsheetApp.getActiveSpreadsheet();
var master = ss.getSheetByName('Home');
var colWidth = master.getLastColumn();// last used col in masterSheet
var sheets = ss.getSheets();// number of sheets
var editRange = 'B2:B15';
function onOpen() {
var menuEntries = [ {name: "Copy selected Rows to sheets", functionName: "copyRowsOnConditionV2"},
];
ss.addMenu("Copy functions",menuEntries);// custom menu
}
function copyRowsOnConditionV2() {
var sheetNames = [];// array of existing sheet names
var sheets = ss.getSheets();// number of sheets
for(s=0;s<sheets.length;++s){sheetNames.push(sheets[s].getName())};
var selectedfirstRow = ss.getRange(editRange).getRowIndex();
var selectedHeigth = ss.getRange(editRange).getHeight()
var selectedFullRange = master.getRange(selectedfirstRow,1,selectedHeigth,1);
var data = selectedFullRange.getValues();
for(n=0;n<data.length;++n){
if(data[n][0].length<16){
var dest = ss.getSheetByName(data[n][0].toString().replace(/ /g,''));//find the destination sheet
Logger.log(data[n][0].toString().replace(/ /g,''))
var destRange = dest.getRange(dest.getLastRow()+1,1);// define range
master.getRange(selectedfirstRow+n,2,1,1).copyTo(destRange);// and make copy below last row
}
}
}
var ss=SpreadsheetApp.getActiveSpreadsheet();
var master=ss.getSheetByName('Home');
var colWidth=master.getLastColumn();//母版中最后使用的颜色
var sheets=ss.getSheets();//张数
var editRange='B2:B15';
函数onOpen(){
var menuEntries=[{name:“将所选行复制到工作表”,functionName:“copyRowsOnConditionV2”},
];
ss.addMenu(“复制函数”,菜单);//自定义菜单
}
函数copyRowsOnConditionV2(){
var sheetNames=[];//现有工作表名称的数组
var sheets=ss.getSheets();//张数
对于(s=0;s,JavaScript“not”操作符将测试null
、undefined
和空字符串的值,如果发现任何这些条件,则返回true
。“not”操作符是一个感叹号
if(!data[n][0]){
Logger.log('tested true for NOT')
continue;//execute the next loop
}
JavaScript“not”操作符将测试null
、未定义的
和空字符串的值,如果发现任何这些条件,则返回true
。not”操作符是一个感叹号
if(!data[n][0]){
Logger.log('tested true for NOT')
continue;//execute the next loop
}
只用
if (data[n][0]) {
// do something;
}
在“if”运算符中,如果值为null、未定义或空字符串,则括号之间的语句将被计算为“false”。请使用
if (data[n][0]) {
// do something;
}
在“if”运算符中,如果值为null、未定义或空字符串,则括号之间的语句将计算为“false”.这对我来说很有帮助!感谢您查看我的代码并提供解决方案。这是我的荣幸。只要小心使用带有数字的“if”语句-在JavaScript中,它将0计算为“false”,这有点违反直觉。但是对于字符串,这将起作用。这对我来说很有帮助!感谢您的关注在我的代码中,提供一个解决方案。这是我的荣幸。只要小心使用带有数字的“if”语句-在JavaScript中,它将0计算为“false”,这有点违反直觉。对于字符串,这将起到作用。