Кнопка Google Script для увеличения значения определенных строк и столбцов в Google Sheets - PullRequest
0 голосов
/ 07 ноября 2018

Я использую Google Sheets с рядом кнопок. Я хочу нажать кнопку, чтобы увеличить значение в определенной строке.

Например: Когда я нажимаю кнопку «Игрок 1», она переходит в строку «Игрок 1», а затем, когда я нажимаю кнопку «Отскок», в этой ячейке добавляется значение 1. Затем, если я нажму кнопку «Украсть», это добавит значение в строке игрока 1 и под столбцом «Украсть». То же самое касается всех других кнопок «игрок». У меня проблемы с поиском, как это сделать. Я хочу создать счет в баскетбольном поле, когда смогу забить игру одним нажатием кнопки. Заранее спасибо. enter image description here

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

}

Сценарий Google, который у меня есть, позволяет мне увеличить значение на единицу только для ячейки B2. Я хотел бы иметь возможность использовать кнопки проигрывателя для выбора строки и кнопку «Отскок», «Оборот», «Украсть» для выбора столбца и добавления значения. Я очень новичок в кодировании и написании сценариев. Сожалею.

1 Ответ

0 голосов
/ 07 ноября 2018

Существует:

  1. Функция setActiveSelection, которую можно использовать для выбора диапазона ячеек при нажатии кнопки «Плеер», и
  2. A getSelection функция, которую можно использовать при нажатии кнопки «событие» (отскок, оборот или кража), чтобы получить текущий выбор, а затем выбрать правильную его часть.

Кнопки игрока

Я думаю, что каждая из функций вашего плеера должна будет вызывать пользовательскую функцию, то есть selectPlayerOneRange(), selectPlayerTwoRange(). Примерно так:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

function selectPlayerOneRange() {
  sheet.setActiveSelection("B2:D2");
}

function selectPlayerTwoRange() {
  ...

Кнопки действий

Точно так же, каждая из ваших кнопок действий требует своего собственного скрипта. Я мог бы сделать что-то вроде этого:

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;
  ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...