我在Excel中使用一個宏已經好幾年了,我想把它翻譯成谷歌腳本,以便在Drive中進行協作。
我使用的是兩個作業表(一個名為 "BILAN",是概覽,一個名為INPUT,用于輸入資料。腳本在沒有太多輸入的情況下運行得很好,但我希望在檔案使用結束時能達到接近一千條輸入。
基本上,該腳本是一個雙回圈,以總結BILAN表中的輸入。感謝你的幫助!!
這是一個雙回圈的腳本,用于總結BILAN表中的輸入。
以下是我使用的代碼 :
function getTransportDates() {
var ss = SpreadsheetApp.getActive()。
var strDatesTransport = ''/span>;
const intNbClients = ss.getSheetByName('BILAN')。 getDataRange().getLastRow()。
const intNbInputs = ss.getSheetByName('INPUT'/span>)。 getDataRange().getLastRow()。
for (let i = 4; i <= intNbClients; i ) { // loop through the addresses in BILAN.
if (ss.getSheetByName('BILAN') 。 getRange(i, 9).getValue() >0) {
for (let j = 4; j <= intNbInputs; j ) { // loop through the adresses in INPUT
if (ss.getSheetByName('INPUT') 。 getRange(j, 2).getValue()== ss. getSheetByName('BILAN') 。 getRange(i, 1).getValue()) {
strDatesTransport = strDatesTransport ' // ' ss.getSheetByName('INPUT')。 getRange(j, 1).getValue(); //.toISOString().split('T')[0]; /span>
}
}
}
ss.getSheetByName('BILAN'/span>)。 getRange(i, 10).setValue(strDatesTransport)。
strDatesTransport = ''。
}
};
uj5u.com熱心網友回復:
減少從Google表單中獲取資訊的呼叫次數
每當解釋器出現這樣的情況時:ss.getSheetByName('INPUT'/span>)
......它必須到互聯網上查看是否(目前)有一個該名稱的作業表,然后必須在該作業表中找到相關的單元格。
減少呼叫次數的最簡單方法是將每個作業表("BILAN "和 "INPUT")讀入一個本地 Javascript 變數。
事實上,在我看來,你正在從每個電子表格中提取極其具體的單元格組。你能不能將每一組單元格放入一個陣列,然后處理這些陣列呢?
uj5u.com熱心網友回復:
這樣試一下:
function getTransportDates() {
const ss = SpreadsheetApp.getActive()。
var sdt = ''/span>。
const csh = ss.getSheetByName('BILAN')。
const cvs = csh.getRange(4, 1, csh. getLastRow() - 3, csh.getLastColumn()).getValues()。
const ish = ss.getSheetByName('INPUT'/span>)。
const ivs = ish.getRange(4, 1, ish. getLastRow() - 3, ish.getLastColumn()).getValues()。
cvs.forEach((cr,i) =>/span> {
if((cr[8] > 0) {
ivs.forEach((ir,j)=> {
if(ir[1] == cr[0] ) {
sdt = ir[0]。
}
});
}
ss.getSheetByName('BILAN'/span>)。 getRange(i 4, 10).setValue(stdt)。
sdt = ''。
});
}
不知道這是在哪里。//.toISOString().split('T')[0];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320532.html
標籤:
