0
votes

I have this code on a dice roller sheet I'm trying to make. In column 1, I'm putting the number of dice being used, in column 3, I'm putting the type of dice used (d4 is 4, d6 is 6, d8 is 8, etc.), in column 5, I'm putting the interior modifier (mod for every dice), and in column 7, I'm putting the outside modifier (overall modifier after everything is rolled).

In column 9, everything is supposed to be consolidated as shown in the code below... But nothing's happening on the sheet itself.

Note: No listed errors, it seems to be running properly, but nothing's being displayed.

Quick edit, just for completeness' sake, I replaced all instances of " with ', nothing happened, which I figured, but I'm a bit new haha

function onEdit() { // Column 7
  var ss = SpreadsheetApp.getActiveSpreadsheet(); // Spreadsheet
  var sheeta = "Rolls";
  var sheet = ss.getSheetByName(sheeta); // Active sheet

  var numberrange = sheet.getActiveCell();
  numberrange = (numberrange.getRow(),1);

  var typerange = (numberrange.getRow(),3);

  var modrange = (numberrange.getRow(),5);

  var outermodrange = (numberrange.getRow(),7);

  var finalrange = (numberrange.getRow(),9);

  var results = "=" + numberrange.getValue() +"*(TRUNC(RAND()*(" + typerange.getValue() + "-1)+" + modrange.getValue() + "))+" + outermodrange.getValue(); // =1*(TRUNC(RAND()*(6-1)+0))+0

  finalrange.setValue(results);
}
1

1 Answers

0
votes
  1. This is not range numberrange = (numberrange.getRow(),1); rather this is just a (X,Y). I don't know why you didn't mentioned, I think you must be getting error while executing the script. To convert this into range you should do something like numberrange = sheet.getRange(numberrange.getRow(),1);

  2. Here finalrange.setValue(results); results is a formula I guess, so kindly use finalrange.setFormula(formula) function.

Let me know if this doesn't solve your issue or if you have any doubt.