Создайте кнопку копирования и вставки листов Google на другой лист - PullRequest
0 голосов
/ 25 октября 2019

Я ищу скрипт, который создаст кнопку меню, которая будет копировать и вставлять данные из листа «Открытые заказы» A3: B в последнюю пустую строку листа «Потянул», где A: B пусто, и убедиться, что естьбез дубликатов. Мне нужно, чтобы данные тоже оставались на листе "Открытые заказы".

У меня нет опыта работы со сценариями, и все, что я пытался посмотреть на Google, не работает или не то, что я ищу.

function copytestdata() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Open Orders");
var sheet2 = ss.getSheetByName("Pulled");

sheet1.getRange("A3:B1000").copyTo(sheet2.getRange(sheet2.getLastRow()+1,1,1,2), 
{contentsOnly:true});
}

РЕДАКТИРОВАТЬ
Я нашел этот код в одном из моих старых листов, который делает что-то похожее, но не совсем то, что я хочу, и я не уверен, как его изменить.

Изменение, которое я сделал в этомявляется то, что я обновил имя листа, но он копирует всю строку и вставляет его в строку 969 на листе «Потянул».

Я просто хочу, чтобы столбцы A и B были скопированы и вставлены, а в следующей пустой строке, где A & B пусты, у меня есть формулы в столбцах C: H

function moveToPulled() {

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var range = sheet.getActiveRange(); 
    var values = range.getValues(); 
    var targetSheet = ss.getSheetByName('Pulled'); 
    var numColumns = sheet.getLastColumn(); 
    var numRows = values.length; 
    var row = range.getRow(); 
    var rowText = ' row'; 
    if (numRows > 1) {
        rowText = rowText + 's'
    };
    if (row !== 1) {
        var theButton = Browser.msgBox('Please confirm the move...', 'Are you sure you want to move ' + numRows + rowText + ' to Pulled?', Browser.Buttons.YES_NO); 
        if (theButton == 'yes') {
            var range = sheet.getRange('A1'); 
            sheet.setActiveRange(range); 
            var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); 
            sheet.getRange(row, 1, numRows, numColumns).copyTo(target);
            ss.setActiveSheet(sheet); 
            SpreadsheetApp.flush(); 
            ss.toast('Moved ' + numRows + rowText + ' to the \'Needs To Ship\' sheet.','ALL DONE...'); 
        }else {
            ss.toast('Move along, nothing to see here...','Alrighty then...'); 
        } 
    }else {
        Browser.msgBox('NOT GONNA DO IT!', 'I refuse to move the selected ' + rowText + '. Please reconsider and try again. Have a nice day ...LOL', Browser.Buttons.OK); 
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...