Google Apps Script. Методы getLastRow, getLastColumn, clear. Скрипты Google Sheets Урок 4.

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • В этом уроке вы узнаете как находить последнюю строку и столбец в листе, брать значения из определенного диапазона и вставлять его ниже последней строки в нужном вам листе с помощью скриптов. Google apps Script работает на основе JavaScript , по этому кто уже сталкивался с этим языком , будет на много легче.
    Смотрите до конца, будет интересно.
    Поддержи автора канала пальцем в верх и подпиской это для
    меня лучший стимул продолжать развиваться.
    Все уроки по Гугл таблицам в одном плейлисте - • Google таблицы. Как со...
    Помощь по гугл таблицам - пишите в ВК id8947072
    Мой паблик в Telegram - t.me/stmsolution
    Буду рад видеть вас в моей группе ВК - public1...
    Twitter - / stm_solution
    Мой сайт stmsolution.ru
    Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
    / @stmsolution
    💰 Поддержать монетой:
    🥇Bitcoin - bc1q5ve3p8zmcm6z9tapts6padpmnvv572tsujukad
    📲 Через кнопку "Спасибо"
    👍 Или станьте спонсором канала!
    Еще больше видео на моем канале / @stmsolution

КОМЕНТАРІ • 121

  • @stmsolution
    @stmsolution  5 років тому +4

    Друзья! Не забывайте ставить пальцы в верх если нравится, это очень способствует развитию канала и продвижению видео. Пишите ваши вопросы и замечания, постараюсь на все ответить.
    Если вам нравится видео, вы можете его поддержать лайком а так же, при желании, поддержать канал монетой
    🎊 stm-solution.diaka.ua/donate
    🥇Bitcoin - bc1q5ve3p8zmcm6z9tapts6padpmnvv572tsujukad
    📲 Через кнопку "Спасибо"
    👍 Или станьте спонсором канала!

  • @tarasmops5545
    @tarasmops5545 4 роки тому +1

    Просто золоті уроки! Дякую. Таких в ютубі на цю тематику практично немає. Дякую! Дивно, що так мало аудиторії ще. Але, автор, ще все попереду!

    • @stmsolution
      @stmsolution  4 роки тому

      Спасибо, можете поспособствовать в наборе аудитории лайками видео и репостами ))))

    • @tarasmops5545
      @tarasmops5545 4 роки тому +1

      @@stmsolution я активно так і роблю) таких людей треба підтримувати

    • @stmsolution
      @stmsolution  4 роки тому

      Спасибо

  • @Aigizbash
    @Aigizbash 3 роки тому +2

    Круто, то что давно искал , очень полезно. Благодарю за видео 👍

  • @Андрей-п2г4в
    @Андрей-п2г4в 3 роки тому +4

    Спасибо за урок! А возможно ли создать автоматический скрипт для копирования конкретной строки в БД каждый день (в определенное время) не открывая таблицу. Дайте ссылку, пожалуйста, если уже есть подобное видео. Буду очень благодарен.

  • @МихаилАксенов-и2к
    @МихаилАксенов-и2к 5 років тому

    Спасибо за урок. Как всегда все доходчиво и без воды.

    • @stmsolution
      @stmsolution  5 років тому

      Спасибо что смотрите.

  • @TheTwinspappa
    @TheTwinspappa 3 роки тому

    Отличные уроки!

  • @muamonmoona3381
    @muamonmoona3381 2 роки тому +1

    Очень интересно и полезно :) А главное - понятно! Спасибо!

  • @ОлегПрокопьев-щ4у
    @ОлегПрокопьев-щ4у 3 роки тому

    Отличные уроки

  • @politpilot9870
    @politpilot9870 Рік тому +1

    Ролику 3 года, но все же. 9:28 последняя строка не работает очищение указанного диапазона. Возможно версия Apps устаревшая. Работает по другому немного:
    var clear = ss1.getRange(2, 1, 1, 5); // собрать в переменную диапазон для удаления данных (строка, столбец, строк, столбцов)
    clear.clear(); // удалить указанный в переменной диапазон
    Так работает!

  • @Заработоквинтернете-с5п

    Добрый день! Как вы заранее сделали выпадающий список значений и необходимых полей? Расскажите об этом в отдельном видео или чуть ниже здесь.Спасибо!

    • @stmsolution
      @stmsolution  3 роки тому

      Об этом есть видео, смотрите плейлист по Гугл таблицам, там в самых первых уроках

  • @Иван-о9ш5с
    @Иван-о9ш5с 3 роки тому +2

    Спасибо за Ваши уроки.
    Скажите, пожалуйста, зачем объявлять переменную "values" второй раз и зачем в неё заносить операцию "ss2.getRange(lr+1,1,1,lc).setValues(values)". Ведь данная операция сама по себе прописанная:
    ss2.getRange(lr+1,1,1,lc).setValues(values);
    нормально отработает.
    Также непонятно, зачем в переменную заносить операцию "ss1.getRange(2,1,1,5).clearContent()"?

    • @stmsolution
      @stmsolution  3 роки тому

      Добрый, все верно, но для новичков так понятнее.

  • @oleksandrkuznetsov1227
    @oleksandrkuznetsov1227 3 роки тому +1

    Агонь!

  • @alexandrdementyev9123
    @alexandrdementyev9123 4 роки тому

    Доброго времени спасибо за отличные уроки. Очень полезный скрип. Подскажите как можно реализовать определенную задачу. Данные вносятся в таблицу при этом есть столбец оплата - как сделать так что-бы сумма оплаты записывалась в новую таблицу при изменении статуса оплаты ДА/НЕТ, и подтягивала два значения, сумму и № заказа. в новую строку, но на строку выше как в макросе (в одном из Ваших уроков). Есть еще условие, исходные данные постоянно вносятся в новую строку.

  • @nataliabogdanova5465
    @nataliabogdanova5465 3 роки тому

    Спасибо, очень коротко и по существу.
    Подскажите пожалуйста, как можно реализовать такой же перенос данных, но с одним нюансом:
    таблица-форма, из которой будут переноситься данные, не такая же, как таблица, в которую эти данные будут переноситься.
    Например, она не горизонтальная, а вертикальная.
    Есть возможность не просто переносить всю строку из одной таблицы в другую, а например привязывать отдельно каждую ячейку (из которой перенести и в которую вставить)?

  • @Максим-ф1ю8е
    @Максим-ф1ю8е 3 роки тому

    Я приветствую Вас! Благодарю за Ваш контент и старания - смотрю все видео взахлеб.
    У меня к Вам ВОПРОС:
    Как можно делать поиск пустой строки, но в НУЖНОМ ДЛЯ МЕНЯ диапазоне колонок? Буду очень благодарен за ответ.

    • @stmsolution
      @stmsolution  3 роки тому

      Указывайте диапазон в getRange("C:C").getValues()

    • @Максим-ф1ю8е
      @Максим-ф1ю8е 3 роки тому

      @@stmsolution а как искать то последнюю заполненную строку?

  • @Alex-t2o3p
    @Alex-t2o3p 4 роки тому +2

    Добрый день.
    Подскажите: данный скрипт переносит данные из листа1 , в лист2. В листе2 есть формулы, соответственно getLastRow думает, что ячейка с формулой и есть последняя и добавляет данные ниже нее.В итоге строка с формулой остается пустой.Как можно обойти этот момент?

    • @mypanglao8452
      @mypanglao8452 4 роки тому

      Я не в курсе, но наверно это будет active row (-1) вставить строку

  • @нашааптека-ж9и
    @нашааптека-ж9и 5 років тому

    офигенненько) спасибо!)

    • @stmsolution
      @stmsolution  5 років тому

      Рад что полезен, отблагодарить можете лайками и репостами в соцсети. Спасибо.

  • @pikeliphone
    @pikeliphone 3 роки тому

    Привет, отличный урок. А как выделить и вставить таблицу у которой постоянно меняется количество строк?

  • @rich-content
    @rich-content 3 роки тому

    Благодарю за уроки! Возник вопрос: как сделать так, что бы скрипт работал в фоновом режиме, и как только в первой таблице появлялись данные, он их переносил в другую таблицу автоматически? Без кнопок, и опций в меню, т.е без вмешательства.

    • @stmsolution
      @stmsolution  3 роки тому +1

      Смотрите дальше, там как раз есть ответ, вам нужен триггер

  • @72poligon
    @72poligon Рік тому

    Или я что-то упустил, или у вас ошибка в строке 47 fomatOnly:true. пропустили букву r в следствии чего формат на самом деле не очистился. Только не пойму почему система не выдает ошибку, а все работает.

  • @dires-ok9eg
    @dires-ok9eg 3 роки тому

    Решил по Вашему уроку сделать вертикальную форму для заполнения таблицы. Не получилось values из столбца развернуть сразу в строки. Пришлось значения добавлять по одному. Можете подсказать способ?

  • @masterd6125
    @masterd6125 5 років тому

    Спасибо, опять полезные лайф хаки.
    Может преждевременно: как правильно добавлять в ячейку в зависимости от содержания данных в таблице checkbox/флажок через скрипт (мануал гугл что-то не помог:).

  • @rufatbadalov1858
    @rufatbadalov1858 5 років тому

    👍👍👍👍🖐🤝
    Если Вас незатруднит побольше уроков....
    И вопрос, допустим в стобце "С" идет вичисление по дате формулой, чтоб когда в столбце "С" получалось число больше 3, ячейка в стобце рядом т.е. "В" затиралась

    • @stmsolution
      @stmsolution  5 років тому

      Тут необходимо делать перебор через цикл for а внутри использовать условия if в котором и прописывать все

    • @rufatbadalov1858
      @rufatbadalov1858 5 років тому

      @@stmsolution спасибо, но я ничего не понял)))былбы неплохой урок....

    • @stmsolution
      @stmsolution  5 років тому

      До этого дойдем, пока что не много времени для канала, есть основная работа, которая забирает много времени, но на эту тему уроки будут

    • @rufatbadalov1858
      @rufatbadalov1858 5 років тому

      @@stmsolution спасибо, ждем с нетерперием продолжения уроков.

    • @stmsolution
      @stmsolution  5 років тому

      Пока что можете поддержать меня лайками и репостами видео в соцсетях. Это способствует увеличению скорости выхода видео;)

  • @danielvance3526
    @danielvance3526 5 років тому

    А будут ли потом уроки по созданию сайдбаров? чтобы можно было в диалоговое окно добавлять данные и потом разносить их по нужным листам

    • @stmsolution
      @stmsolution  5 років тому +1

      Возможно, опишите подробнее что вы хотели бы узнать

    • @danielvance3526
      @danielvance3526 5 років тому +3

      @@stmsolution создание HTML кода на сайдбаре, через какие команды могут заносится данные, и какими методами идёт взаимодействие между данными введёнными в сайдбаре и таблицей

    • @ДенисКись
      @ДенисКись 4 роки тому +1

      Отличный вопрос, мне тоже было бы интересно узнать

  • @ДенисКись
    @ДенисКись 4 роки тому +1

    Подскажите, пожалуйста, как можно найти последнюю строку/последний столбец в определённом столбце/строке, а не по всему листу?

    • @stmsolution
      @stmsolution  4 роки тому +1

      Надо писать свою функцию, обычными методами Гугла не получится

    • @ДенисКись
      @ДенисКись 4 роки тому

      @@stmsolution Спасибо за информацию!

  • @khibinite
    @khibinite 2 роки тому

    Добрый день! Можно уточнить, как правильнее обрабатывать событие onChange? При добавлении строки нужно в динамике в несколько ячеек этой строки дописать несколько формул. Изначально номер строки неизвестен. Соответственно, нужно, чтобы скрипт отследил факт добавления строки и смог бы определить её номер. Спасибо!

    • @stmsolution
      @stmsolution  2 роки тому

      Надо получать активный диапазон, дальше получать getRow(), дальше уже пишем условие нужное вам.

    • @khibinite
      @khibinite 2 роки тому +1

      @@stmsolution спасибо, к этому моменту уже разобрался :). В обработчике onChange по типу EDIT получается последняя строка и дальше уже дописываются формулы. Очень Удобно. Если поставить проверку активного листа и учитывать специфику добавления инфы в конкретный лист, метод становится универсальным 👍

  • @tarasmops5545
    @tarasmops5545 4 роки тому

    А чи можете ще пояснити як скопіювати декілька строчок з одного листа в інший, але тільки ті строчки, де в колонці J є хоч якісь значення? Якщо можна - поясніть як для початківця. Дякую

    • @stmsolution
      @stmsolution  4 роки тому +1

      Выбрать диапазон с данными и пробежаться циклом по всем строчкам, при совпадении записывать номер строки в массив, а после уже по массиву свой цикл со строчками запустить

  • @ВладимирКудряшов-б3к

    Привет, а можно ли принудительно пересчитать формулу в ячейке?.
    Я вставил туда формулу =IMPORTHTML() и мне надо чтобы она пересчитывалась например 1 раз в минуту.
    Я уже пробовал очищать формулу и вставлять заново, чтобы она пересчиталась, но скрипт так быстро отрабатывает, что походу формула не успевает отрагировать.
    Если в одной функции сделать очищение формулы, а в другой вставку, то тоже работает, т.к. проходит какое-то время и Google Shets обновляет формулу и пересчитывает.
    Если сделать последовательно запуск двух функций, то опять скрипт быстро отрабатывает и Google Shets не успевает отреагировать на изменения.
    Пробовал между ними вставлять функцию sleep(), скрипт останавливается, но первая функция при этом не отрабатывает, т.к. ячейки не очищаются, а при вставке формулы второй функцией, Google Shets не успевает отреагировать на изменения.
    Вообщем не могу понять как связать две функции, чтобы они отрабатывались последовательно и Google Shets успел бы отреагировать на изменения формул.

  • @АдминистраторМакуллатуры

    Добрый вечер, как, при внесении через Лист1 данных , защитить лист ДБ от ручного изменения?

    • @stmsolution
      @stmsolution  5 років тому +1

      Посмотрите метод protect()

  • @ИИванов-ь6с
    @ИИванов-ь6с 2 роки тому

    А итоговый код где то публикуется? Часто бывает так что нет времени набирать

  • @НатальяЖитникова-м1л
    @НатальяЖитникова-м1л 6 місяців тому

    Спасибо за видео! Очень полезно!
    Пробую вставить определенное количество строк после. Выдает ошибку: Exception: The parameters (number,number) don't match the method signature for SpreadsheetApp.Sheet.insertRowAfter.
    Скрипт такой:
    function insRows() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var range = sheet.getActiveRange();
    var numberOfrooms = range.getValue();
    var row = range.getRow();
    var col = range.getColumn();
    sheet.insertRowAfter(row,numberOfrooms);
    Logger.log(row);
    Logger.log(col);
    }
    Никак не пойму, в чем ошибка!

  • @gaminView
    @gaminView 7 місяців тому

    Это понятно, если строки все пустые. А если строки с A по E заполнены и мне нужно дозаписывать данные в F ? как мне найти последнюю свободную ячейку в F именно?

    • @stmsolution
      @stmsolution  7 місяців тому

      свою функцию надо писать, на пример которая будет брать весь столбец, получать из него значения, и идти не снизу в верх в цикле, а сверху в низ и останавливать тогда когда попадется первая не пустая ячейка, это и будет последней строкой конкретного столбца + 1, так как массивы стартуют с нулевого индекса

  • @Alcoholdehydrogenas
    @Alcoholdehydrogenas 3 роки тому

    Я не пойму: суть коддинга на JS состоит в том, чтобы придумывать невероятную кучу переменных?
    Каждое объявление переменной разве не жрет память?

    • @stmsolution
      @stmsolution  3 роки тому

      Если без них не обойтись то надо делать

  • @danielvance3526
    @danielvance3526 5 років тому

    Добрый день, а можно ли через onEdit триггер дописать в скрипте чтобы при заполнении в Листе3 данные автоматически сохранялись в БД и затем очищались в Листе3? и еще вопрос можно ли через скрипты или другие инструменты из таблиц сохранять данные в Google Keep в виде заметок с ярлыками?

    • @stmsolution
      @stmsolution  5 років тому +1

      конечно, можно триггер установить проводить эту процедуру при изменении. С keep не сталкивался, для таких задач лучше на мой взгляд использовать гугл календарь, там точно можно делать временные заметки.

    • @rufatbadalov1858
      @rufatbadalov1858 5 років тому

      @@stmsolution 👍👍👍👍🖐🤝
      Если Вас незатруднит побольше уроков....
      И вопрос, допустим в стобце "С" идет вичисление по дате формулой, чтоб когда в столбце "С" получалось число больше 3, ячейка в стобце рядом т.е. "В" затиралась

  • @TheOrteme
    @TheOrteme 3 роки тому

    Как вы подсвечиваете какие значения могу быть у метода все варианты? И ещё потом с ними печатаете(время 2:59)

    • @stmsolution
      @stmsolution  3 роки тому

      Сама среда разработки подсказывает, ещё можно Ctrl+ пробел нажать, должно сработать

  • @olehmordashov8440
    @olehmordashov8440 3 роки тому

    Подскажите , а как быть в том случае когда скопировать нужно не одну строку , а в зависимости от количества проданного товара , строк может быть от 1 до 100. Как сделать что бы скрипт автоматически выдел заполненные строки и точно так же вставил в другую таблицу , в свободную строку .

    • @stmsolution
      @stmsolution  3 роки тому

      Надо брать весь массив фильтровать по критерию через filter, и получать длинну этого отфильтрованного массива, через length, и после эту длинну ставить как количество строк в диапазоне который надо брать

  • @Rita9465
    @Rita9465 3 роки тому

    Как перенести группу ячеек на другой лист со всем форматированием: шрифт, цвет ячейки и т.д. Спасибо, за уроки очень помогают.

    • @stmsolution
      @stmsolution  3 роки тому +1

      sheet.getRange().copyTo(range)

  • @Vacar13
    @Vacar13 5 років тому

    Как пустить на печать после добавления в базу эту строку, ну или выделенный диапазон распечатать, например, на двух листах, так что бы нажал на изображение с макросом и началась печать без всяких лишних окон, как это в Excel происходит

    • @stmsolution
      @stmsolution  5 років тому

      на этот вопрос не могу дать, ответ, на сколько знаю, никак, так как интерфейс браузера, который отвечает за запуск печати, не относится к гугл таблицам и в этом то и вся загвоздка. Только вручную

  • @АлёнаГоляновская
    @АлёнаГоляновская 4 роки тому

    Спасибо за урок! Очень полезно.
    Подскажите, пожалуйста, что нужно добавить в скрипт, чтобы переносились строки только с определённым значением в первом столбце?

  • @АндрейПетров-з1ы
    @АндрейПетров-з1ы 3 роки тому

    а как осуществить то же самое копирование определенного набора данных, но только не на другой лист, а в совсем другую файл-таблицу?

    • @stmsolution
      @stmsolution  3 роки тому

      Смотрите в следующих видео)) а вообще за это отвечает метод SpreadsheetApp.openById()

  • @geloz1z1z12
    @geloz1z1z12 3 роки тому

    Добрый день. Пробовал сделать ,что бы записывалось со здвигом вниз. function addToDatabase(){
    var ss =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Аркуш2");
    var ss1 =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("БД");
    var ss3 =SpreadsheetApp.getActiveSpreadsheet();
    var sheet =ss3.getSheetByName("БД");
    var values =ss.getRange(2,1,1,5).getValues();

    var lr= ss1.getLastRow();
    var lc= ss1.getLastColumn();
    var range=sheet.getRange("a1");
    var row= range.getRow() ;
    sheet.insertRowAfter(row);

    var values =ss1.getRange(lr+1 ,1,1,lc ).setValues(values);
    Logger.log(values );
    Строчку вставляет, но данные не записывает .Как сделать, что бы старые данные смещались вниз

  • @LagomAvto
    @LagomAvto 5 років тому

    Можно ли у вас заказать таблицу ?

    • @stmsolution
      @stmsolution  5 років тому

      Можно , пишите mitra654491@gmail.com

  • @АдланСайдулаев-р5п

    подскажите ! как после отправки в базу данных сделать что бы очистились только 2 ячейки ( продавец ) (
    Товар)

    • @stmsolution
      @stmsolution  2 роки тому

      Указать в getRange() нужный диапазон

  • @Kikuuu
    @Kikuuu 4 роки тому +1

    Надеюсь есть кто живой, как сделать, чтобы он вставлял не снизу, а справа допустим?

    • @stmsolution
      @stmsolution  4 роки тому

      Просто пропиши по последней колонке +1

  • @DmitriyDeveloper
    @DmitriyDeveloper 3 роки тому

    аааааа помогите) Не могу вкурить как вставить активный (выбранный) диапазон значений на другой лист , но чтобы не было привязки к точному getRange(lr+1,1,1,lc). А чтобы сколько выбрал строк и столбцов столько и вставил.
    Тут разобрался:
    var values = ss1.getRange(1,1,1,7) - это, сменил на это var values = ss1.getActiveRange() чтобы использовать выбранный диапазон, а как быть тут? getRange(lr+1,1,1,lc). спасите помогите)извините пожалуйста, что тут пишу по этой просьбе.Спасибо)

    • @stmsolution
      @stmsolution  3 роки тому

      getActiveRange().getValues() и дальше уже узнавайте длинну массива и вставляйте

    • @DmitriyDeveloper
      @DmitriyDeveloper 3 роки тому

      @@stmsolution getNumColumns();
      activeRange.getNumRows();
      так?

  • @АлександрКанарейкин-й4н

    Добрый день, скрипт один в один....при нажатии разносит везде дату по 5-ти колонкам и тд далее на строчку ниже...не могу найти ошибку. Посмотрите пожалуйста
    function addToDatabase() {
    var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист2"); // доступы к листам активной таблицы
    var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("БД");
    var values = ss1.getRange(2, 1, 1, 5).getValues();
    Logger.log(values);
    var lr = ss2.getLastRow();
    var lc = ss2.getLastColumn();

    var values = ss2.getRange(lr+1, 1, 1, lc).setValue(values);


    }

    • @ElenaSagan-z7r
      @ElenaSagan-z7r 3 роки тому +1

      var values = ss2.getRange(lr+1, 1, 1, lc).setValue(values); не совсем один в один, в этой строчке s пропустили))) setValues(values);

    • @siarheiradzko
      @siarheiradzko Рік тому

      @@ElenaSagan-z7r час не мог понять в чем проблема, спс

  • @olehyurchyk3326
    @olehyurchyk3326 5 років тому +1

    Как переместить с одного листа в другой ту строку которую я выделю а не ту которую прописана в скрипте.

    • @stmsolution
      @stmsolution  5 років тому

      Надо получить активный диапазон и после получить эту строку и дальше указать в getRange строку столбец и длинну строки все, в предыдущем уроке я показывал как раз один из моментов определения активной строки и столбца

    • @olehyurchyk3326
      @olehyurchyk3326 5 років тому

      Я понял.У меня есть база там очень много строк.Я хочу например выделять любую из них и перемещеть в другой лист через кнопку.С кнопкой и перемищением проблем нет.Проблема только в том что я хочу перемещать ту строку которую мне нужна ту которую я выделил!Например выделил 5 строку тыкнул на кнопку и перемистил,потом выделил 36 строку тыкнул кнопку и перемистил.

    • @stmsolution
      @stmsolution  5 років тому

      var activeRow = ss.getActiveRange().getRow() и потом в переменную записываем getRange(activeRow, col и тд)

    • @olehyurchyk3326
      @olehyurchyk3326 5 років тому

      не получается.Мне нужно получить значение из выделеной строки

    • @stmsolution
      @stmsolution  5 років тому

      Метод getValues, вам поможет. Пересмотрите ещё раз мои предыдущие уроки там есть информация нужная вам.

  • @romhikpomhik
    @romhikpomhik 2 роки тому

    А как найти последнюю строку только во втором столбце?

    • @stmsolution
      @stmsolution  2 роки тому

      Только своей функцией

  • @sergeieremin1773
    @sergeieremin1773 5 років тому +1

    а можно копию данного скрипта?

    • @stmsolution
      @stmsolution  5 років тому +3

      docs.google.com/spreadsheets/d/1V-3vmsrJ6AT5Y1_liw76_2J8XhNT23sOLWK5uB3OtuI/edit?usp=sharing Делайте себе копию.

    • @sergeieremin1773
      @sergeieremin1773 5 років тому

      @@stmsolution спасибо

  • @aerotachka
    @aerotachka 4 роки тому

    Что то у тебя одни геты. А как вводить из скрипта значения в таблицу к тебя нет урока. И как форматировать введенные данные.

    • @stmsolution
      @stmsolution  4 роки тому

      Дальше смотрите, все есть

  • @ТилекДанияров-б7ж

    function addToDatabase() {
    var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("главное");
    var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Журнал регистрации");
    var values = ss1.getRange('G4'). getValues();
    Logger.log(values);
    var lr = ss2.getLastRow();
    var lc = ss2.getLastColumn();
    var values = ss2.getRange(lr+1, 1, 1, lc). setValues(values);
    }
    ошибка выходить в getLastRow()

  • @МагомедУ
    @МагомедУ 3 роки тому

    Здравствуйте! такая ошибка выходит. photos.app.goo.gl/VvJCkYsTbhZw4xCF7

    • @stmsolution
      @stmsolution  3 роки тому

      getSheetByName() регистр важен,внимательно посмотрите как у вас написано

    • @МагомедУ
      @МагомедУ 3 роки тому

      @@stmsolution Спасибо!