Сортировка листа по ячейке из пользовательского ввода - PullRequest
0 голосов
/ 11 марта 2019

Я хотел бы иметь скрипт, который выполняет следующий шаг:

  1. Пользователь выбирает ячейку, например A5 (столбец A будет столбцом уникального идентификатора)
  2. Нажмите кнопку / запустите ярлык макроса, и появится запрос с запросом позиции. Пример: пользователь вводит A2
  3. Возьмите выбранную строку и переместите ее в заданную позицию
  4. Переименуйте каждый столбец Значение в новое значение, измените их порядок, а затем переместите строку Пример. Значение A5 становится значением A2, а позиция A5 становится равной A2, значение A2 становится значением A3 и перемещается строка A2 в строку A3. , Значение A3 становится значением A4, а строка A3 перемещается в A4 и т. Д.

Вот что у меня есть:

function onOpen() {
  SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
      .createMenu('Custom Menu')
      .addItem('Show prompt', 'showPrompt')
      .addToUi();
}

function showPrompt() {
  var ui = SpreadsheetApp.getUi(); // Same variations.
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var value = sheet.getActiveCell().getValue();
  var range = sheet.getActiveRange().getA1Notation();

  var result = ui.prompt(
      'Move row',
      'Wich position do you want:',
      ui.ButtonSet.OK_CANCEL);

  // Process the user's response.
  var button = result.getSelectedButton();
  var text = result.getResponseText();
  if (button == ui.Button.OK) {
    // User clicked "OK".
    var selectValue = sheet.getRange(text).getValue();
    var selectRange = sheet.getRange(text);
    ui.alert('range: ' + selectRange + '.');
    sheet.getRange(range).setValue(selectValue);
  } 
}

Я на шаге 3, я пытаюсь переместить выбранную строку в другое место с помощью moveTo(), но она переместит каждую строку ниже выбранного диапазона и переместит ее.

sheet.getRange("A1:E").moveTo(sheet.getRange("F1"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...