Reputation: 15
OK. I'm sorry, I'm not very good at scripting. I've looked at others and I just don't completly understand. I have the following script and I would like it to clear the form cells after it submits the form. Any help is appreciated.
function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
var datasheet = ss.getSheetByName("Data"); //Data Sheet
//Input Values
var values = [[formSS.getRange("C5").getValue(),
formSS.getRange("D5").getValue(),
formSS.getRange("E5").getValue(),
formSS.getRange("F5").getValue(),
formSS.getRange("G5").getValue(),
formSS.getRange("H5").getValue(),
formSS.getRange("I5").getValue()]];
datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 7).setValues(values);
}
Upvotes: 0
Views: 135
Reputation: 64040
function submitData() {
var ss = SpreadsheetApp.getActive();
var fsh = ss.getSheetByName("Form"); //Form Sheet
var dsh = ss.getSheetByName("Data"); //Data Sheet
var values = fsh.getRange(5, 3, 1, 7).getValues();
dsh.getRange(dsh.getLastRow() + 1, 1, 1, 7).setValues(values);
fsh.getRange(5, 3, 1, 7).clearContent();
}
I'd probably rewrite it like this:
function submitData() {
const ss = SpreadsheetApp.getActive();
const fsh = ss.getSheetByName("Form"); //Form Sheet
const dsh = ss.getSheetByName("Data"); //Data Sheet
const frg = fsh.getRange(5, 3, 1, 7);
const vs = frg.getValues();
dsh.getRange(dsh.getLastRow() + 1, 1, vs.length, vs[0].length).setValues(vs);
frg.clearContent();
}
Upvotes: 1