Я очень зеленый в скрипте Google, но я пытаюсь создать проект, который будет:
- взять 2 ввода (имя и номер элемента) в списке на листе A (розовые ячейки на изображении) и скопировать / вставить их в определенный диапазон из 2 ячеек (зеленые ячейки на изображении) в верхней части листа. Эти значения генерируют выходные данные в первых 4 строках листа (синие ячейки), который является шаблоном для моих продуктов. Я создал именованные диапазоны для этих клеток. Я думаю...
Изображение -> Изображение моей "SheetA"
Вставьте 4 строки в верхней части листа B. * Это изображение Лист B
Скопируйте эти новые значения из первых 4 строк на листе A и вставьте их во вновь вставленные строки на листе B.
- Повторите
Я пытался построить функцию сам, но я очень неопытен. Я действительно просто хочу учиться, поэтому, если вы можете помочь мне понять что-то, что приближает меня к выполнению этой работы, я был бы очень признателен!
Вот мой код:
function onOpen() {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Prepare sheet...', functionName: 'prepareSheet_'},
{name: 'Generate products...', functionName: 'generateProduct_'}
];
spreadsheet.addMenu('Directions', menuItems);
}
function generateProduct_() {
var i = 0
var generatorCells = nameCell + ":" + numberCell;
var nameCell = new String("A"+i);
var numberCell = new String("B"+i);
var generatorCells = nameCell + ":" + numberCell;
var nameCellResults = new String("A"+(i*5));
var numberCellResults = new String("B"+(i*5));
for (var i=11;CELL_EMPTY = false; i++) {
spreadsheet.getRange(generatorCells).copyTo(getRange(productGenCells)), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false;
spreadsheet.getRange('2:5').copyTo(sheet.getRange(genResults),{contentsOnly:true}, spreadsheetApp.CopyPasteType.PASTE_VALUES, true);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Results'), true);
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 4);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('productGen!2:5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('productGen'), true);
spreadsheet.getRange('2:2').activate();
}
};