enter image description here
I put this code together to try and create a snapshot of my portfolio each day but clearly isn’t working.
Date needs to be current date not whatever it’s currently printing and needs to be in all 3 date columns, not sure why I’m getting the error messages in the cells.
function snapshot() {
// Assign 'today' today's date.
var today = Utilities.formatDate(new Date(), "GMT+1", "dd/mm/yyyy");
// Assign 'dashboard' the Dashboard sheet.
var dashboard = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Test');
// Assign 'new_row' the first available row to write in.
var new_row = dashboard.getLastRow() + 1;
// Assign to variables the cells where we have the info we want to snapshot.
var cell_individualP = "B2"
var cell_indexP = "C2"
var cell_cashP = "D2"
var cell_individualA = "G2"
var cell_indexA = "H2"
var cell_cashA = "I2"
var cell_Portfolio = "L2"
// Assign to variables the column where we want to copy every value.
var c_date = 1;
var c_individualP = 2;
var c_indexP = 3;
var c_cashP = 4;
var c_date = 6;
var c_individualA = 7;
var c_indexA = 8;
var c_cashA = 9;
var c_Portfolio = 12;
// Write every piece of information in the column it belongs in the 'new_row'
dashboard.getRange(new_row, c_date).setValue(today);
dashboard.getRange(new_row, c_individualP).setValue(dashboard.getRange(cell_individualP).getValue());
dashboard.getRange(new_row, c_indexP).setValue(dashboard.getRange(cell_indexP).getValue());
dashboard.getRange(new_row, c_cashP).setValue(dashboard.getRange(cell_cashP).getValue());
dashboard.getRange(new_row, c_date).setValue(today);
dashboard.getRange(new_row, c_individualA).setValue(dashboard.getRange(cell_individualA).getValue());
dashboard.getRange(new_row, c_indexA).setValue(dashboard.getRange(cell_indexA).getValue());
dashboard.getRange(new_row, c_cashA).setValue(dashboard.getRange(cell_cashA).getValue());
dashboard.getRange(new_row, c_date).setValue(today);
dashboard.getRange(new_row, c_Portfolio).setValue(dashboard.getRange(cell_Portfolio).getValue());
}
Every time I run the code to test it, seems to add 1 month to the date instead of just printing current date, can’t figure out what that is and also need it to print to all three date columns not just the middle one
Old Man Heats is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Ignore this, i figured out i should just do it in sheets, eg have the top column of the date be =today() then adjust the code to grab the info from all columns as such.
// Assign 'today' today's date.
var today = Utilities.formatDate(new Date(), "GMT+1", "dd/mm/yyyy");
// Assign 'dashboard' the Dashboard sheet.
var dashboard = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Test');
// Assign 'new_row' the first available row to write in.
var new_row = dashboard.getLastRow() + 1;
// Assign to variables the cells where we have the info we want to snapshot.
var cell_DateP = "A2"
var cell_IndividualP = "B2"
var cell_IndexP = "C2"
var cell_CashP = "D2"
var cell_DateA = "F2"
var cell_IndividualA = "G2"
var cell_IndexA = "H2"
var cell_CashA = "I2"
var cell_DateV = "K2"
var cell_Portfolio = "L2"
// Assign to variables the column where we want to copy every value.
var c_DateP = 1;
var c_IndividualP = 2;
var c_IndexP = 3;
var c_CashP = 4;
var c_DateA = 6;
var c_IndividualA = 7;
var c_IndexA = 8;
var c_CashA = 9;
var c_DateV = 11;
var c_Portfolio = 12;
// Write every piece of information in the column it belongs in the 'new_row'
dashboard.getRange(new_row, c_DateP).setValue(dashboard.getRange(cell_DateP).getValue());
dashboard.getRange(new_row, c_IndividualP).setValue(dashboard.getRange(cell_IndividualP).getValue());
dashboard.getRange(new_row, c_IndexP).setValue(dashboard.getRange(cell_IndexP).getValue());
dashboard.getRange(new_row, c_CashP).setValue(dashboard.getRange(cell_CashP).getValue());
dashboard.getRange(new_row, c_DateA).setValue(dashboard.getRange(cell_DateA).getValue());
dashboard.getRange(new_row, c_IndividualA).setValue(dashboard.getRange(cell_IndividualA).getValue());
dashboard.getRange(new_row, c_IndexA).setValue(dashboard.getRange(cell_IndexA).getValue());
dashboard.getRange(new_row, c_CashA).setValue(dashboard.getRange(cell_CashA).getValue());
dashboard.getRange(new_row, c_DateV).setValue(dashboard.getRange(cell_DateV).getValue());
dashboard.getRange(new_row, c_Portfolio).setValue(dashboard.getRange(cell_Portfolio).getValue());
}```
Old Man Heats is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.