Javascript 在电子表格中的表格中循环

Javascript 在电子表格中的表格中循环,javascript,Javascript,有人能告诉我如何让下面的代码在第5-45页上运行吗? 目前,我在每个工作表上都创建了一个按钮来执行下面的代码 告诉它这样做,但我想在第50页中做一个按钮来获得代码 从5-45开始,在每张纸上进行下一步。(我不太擅长javascript…只是想寻求一些帮助) //从最后一张图纸导入数据并填充它 //进入当前工作表的D行和E行 函数SearchCols() { var ss=SpreadsheetApp.getActiveSpreadsheet(); var expen=ss.getSheetByN

有人能告诉我如何让下面的代码在第5-45页上运行吗? 目前,我在每个工作表上都创建了一个按钮来执行下面的代码 告诉它这样做,但我想在第50页中做一个按钮来获得代码 从5-45开始,在每张纸上进行下一步。(我不太擅长javascript…只是想寻求一些帮助)

//从最后一张图纸导入数据并填充它
//进入当前工作表的D行和E行
函数SearchCols()
{
var ss=SpreadsheetApp.getActiveSpreadsheet();
var expen=ss.getSheetByName(“MRS摘要”)
var sheet1=expen.getRange(“A13:A210”).getValues();
var searchCol1=expen.getRange('B13:B210').getValues();
var searchCol2=expen.getRange('A13:A210').getValues();
var searchCol3=expen.getRange('C13:C210').getValues();
var searchCol4=expen.getRange('D13:D210').getValues();
var sss=SpreadsheetApp.getActiveSpreadsheet();
var searchCol=sss.getRange('A13:A210').getValues();
var searchVal=sss.getRange('B4').getValue();
var col1=sss.getActiveSheet();
var col2=sss.getActiveSheet();
for(var i=0,len=searchCol2.length;i
我尝试添加外部循环(for(varg in allsheets))来遍历每个工作表,但它仍然只在活动工作表上起作用。但是我可以在日志文件(使用Logger.log(g);)中看到它正在循环遍历g的所有值,这意味着工作表)我哪里出错了?见下文:

function SearchCols() 
{
  var ssss = SpreadsheetApp.getActive();
  var allsheets = ssss.getSheets();
  for (var g in allsheets)
     {
       Logger.log(g);
       var sheet = allsheets[g]                                              
       var expen = ssss.getSheetByName("MRS summary")                                                  
       var sheet1 = expen.getRange("A13:A210").getValues();                                          

       var searchCol1 = expen.getRange ('B13:B210').getValues();                                     
       var searchCol2 = expen.getRange ('A13:A210').getValues();                                     
       var searchCol3 = expen.getRange ('C13:C210').getValues();                                      
       var searchCol4 = expen.getRange ('D13:D210').getValues();                                         

       var searchCol = ssss.getRange('A13:A210').getValues();                                         
       var searchVal = ssss.getRange('B4').getValue();                                                
       var col1 = ssss.getActiveSheet();                                                              

       for (var i = 0, len = searchCol2.length; i < len; i++)                                                           
       for (var j = 0, len2 = searchCol1.length; j < len2; j++)                                      
       {
         if (searchCol2[j][0] == searchVal && searchCol1[j][0] == 
             searchCol[i][0])                   
         { 
           col1.getRange(i + 13, 4).setValue(searchCol3[j][0])                                        
           col1.getRange(i + 13, 5).setValue(searchCol4[j][0])                                        
         }
       }
     } 
}
函数SearchCols()
{
var ssss=SpreadsheetApp.getActive();
var allsheets=ssss.getSheets();
用于(所有表中的var g)
{
Logger.log(g);
var表=所有表[g]
var expen=ssss.getSheetByName(“MRS摘要”)
var sheet1=expen.getRange(“A13:A210”).getValues();
var searchCol1=expen.getRange('B13:B210').getValues();
var searchCol2=expen.getRange('A13:A210').getValues();
var searchCol3=expen.getRange('C13:C210').getValues();
var searchCol4=expen.getRange('D13:D210').getValues();
var searchCol=ssss.getRange('A13:A210').getValues();
var searchVal=ssss.getRange('B4').getValue();
var col1=ssss.getActiveSheet();
for(var i=0,len=searchCol2.length;i
我已经编辑了第二个代码好几次了……所以它会在图纸上循环(我目前有4个图纸,日志文件显示0,1,2,3,所以我知道代码会命中所有图纸,但它只运行打印当前图纸数据的代码……我需要它在所有图纸上运行。(实际上,我只希望它在图纸1、2和3上运行)。有什么想法吗?附言。这段代码应该比较最后一张工作表中的列与单元格以及第4-45页中的列。当这两个条件都满足时,它会将最后一张工作表中的行粘贴到第4-45页。现在,我在每个工作表上都有一个按钮。但我需要去掉每个工作表上的按钮,只使用上一个工作表中的一个按钮可以完成所有这些工作。这就是为什么我需要这个代码在工作表4-45中循环。thx再次出现。我可以看到活动工作表上的单元格被反复粘贴,以获得现有的电子表格。因此我知道计数工作表数量的循环正在工作,因为当我运行脚本时,cel应该填充数据的ls似乎比现有工作表的次数“快”或“刷新”。我只需要知道如何让代码移到下一个电子表格,以便代码可以在该工作表上重复,等等。
function SearchCols() 
{
  var ssss = SpreadsheetApp.getActive();
  var allsheets = ssss.getSheets();
  for (var g in allsheets)
     {
       Logger.log(g);
       var sheet = allsheets[g]                                              
       var expen = ssss.getSheetByName("MRS summary")                                                  
       var sheet1 = expen.getRange("A13:A210").getValues();                                          

       var searchCol1 = expen.getRange ('B13:B210').getValues();                                     
       var searchCol2 = expen.getRange ('A13:A210').getValues();                                     
       var searchCol3 = expen.getRange ('C13:C210').getValues();                                      
       var searchCol4 = expen.getRange ('D13:D210').getValues();                                         

       var searchCol = ssss.getRange('A13:A210').getValues();                                         
       var searchVal = ssss.getRange('B4').getValue();                                                
       var col1 = ssss.getActiveSheet();                                                              

       for (var i = 0, len = searchCol2.length; i < len; i++)                                                           
       for (var j = 0, len2 = searchCol1.length; j < len2; j++)                                      
       {
         if (searchCol2[j][0] == searchVal && searchCol1[j][0] == 
             searchCol[i][0])                   
         { 
           col1.getRange(i + 13, 4).setValue(searchCol3[j][0])                                        
           col1.getRange(i + 13, 5).setValue(searchCol4[j][0])                                        
         }
       }
     } 
}