[javascript] Iterate über den Bereich, fügen Sie jedem String eine Zeichenfolge hinzu



0 Answers

Oder alternativ setValues() , das alle Werte gleichzeitig schreibt. Scheint auch schneller auszuführen.

var range = SpreadsheetApp.getActiveSheet().getActiveRange();
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
var writeValues = []
for (var i = 1; i <= numRows; i++) {
  var row = []
  for (var j = 1; j <= numCols; j++) {
    var currentValue = range.getCell(i,j).getValue();
    var withString = currentValue + " string";
    row.push(withString)
  }
  writeValues.push(row)
}
range.setValues(writeValues)
Question

Ich habe eine Reihe von Zellen in einer Google-Tabelle (activerange) ausgewählt.

Ich möchte über jede Zelle in diesem Bereich iterieren und am Ende eine Zeichenfolge hinzufügen. Die Zeichenfolge ist immer gleich und kann in die Funktion fest codiert werden.

Es scheint eine wirklich einfache Sache zu sein, aber ich habe jetzt eine Stunde lang mit dem Code herumgespielt und kann nichts Nützliches dazu bekommen, und die Dokumente helfen wirklich nicht.

Hier ist was ich jetzt habe. Ich kodiere JS nicht (ich weiß VBA, für alles das hilft ..).

function appendString() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  for (var i = 0; i < range.length; i++) {
    var currentValue = range[i].getValue();
    var withString = currentValue + " string";
    range[i].setValue(withString);
  }
}

Jede Hilfe würde sehr geschätzt werden.




Related