Reputation: 65
I am using Google Sheets with a series of buttons. I want to click the button to increase the value in a specific row.
For example:
When I click on "Player 1" button, it will go to Player 1 row, then when I click on the "Rebound" button, it will add a value of 1 in that cell. Then, if I click the "Steal" button, it will add value in Player 1's row, and under the "Steal" column. The same goes for all of the other "player" buttons. I am having trouble finding out how to do this. I want to create a basketball box score when I can score the game with button clicks. Thank you in advance.
Google Script:
function increment(){
// define the cell to be incremented
var cell = SpreadsheetApp.getActiveSheet().getRange("B2");
// get and set the cell value
var cellValue = cell.getValue();
cell.setValue(cellValue + 1); // this increments by 1 but could be any number
}
The Google Script that I have allows my to increase the value by one for cell B2 alone. I would like to be able to use the Player Buttons to select the row and the Rebound, Turnover, Steal button to select the column and add value. I am very new to coding and scripting. Sorry.
Upvotes: 0
Views: 4001
Reputation: 3226
There exists:
setActiveSelection
function you could use to select a range of cells when a Player button is clicked, andgetSelection
function you could use when an "event" button is pressed (rebound, turnover, or steal) to get the current selection and then select the correct portion of that.Player Buttons
I think each of your player functions is going to have to call a custom function, ie, selectPlayerOneRange()
, selectPlayerTwoRange()
. Something like this:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
function selectPlayerOneRange() {
sheet.setActiveSelection("B2:D2");
}
function selectPlayerTwoRange() {
...
Action Buttons
Similarly, each of your action buttons will require their own script. I might do something like this:
function getSelectedRow() {
var sel = ss.getSelection();
var range = sel.getActiveRange();
var row = range.getRow();
return row;
}
function incrementRebound() {
var row = getSelectedRow();
var col = 2;
var cell = sheet.getRange(row, col);
// Your increment code here:
var cellValue = cell.getValue();
cell.setValue(cellValue + 1);
}
function incrementSteal() {
var row = getSelectedRow();
var col = 4;
...
Upvotes: 2