Переход к последней заполненной ячейке при открытии таблицы с помощью Google Apps Script

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 62

  • @ivanuch22
    @ivanuch22 Год назад +3

    Спасибо!!! Ты помог мне решить большую задачу и сэкономил моё время!!! Пойду гляну, что ещё полезного есть на канале! Палец вверх однозначно👍

  • @LiceDejj
    @LiceDejj 8 месяцев назад +3

    Кто будет искать, теперь, эта функция находится в меню "Расширения" → "Apps Script"

  • @MenTrening
    @MenTrening Год назад +1

    Мега круто! спасибо!

  • @icheveryone
    @icheveryone Год назад +1

    Все работает! Спасибо за помощь ❤

  • @aziboyaziboy1506
    @aziboyaziboy1506 Год назад +1

    очень помогло это видео, РЕСПЕКТ !!!

  • @Peaceilya
    @Peaceilya 11 месяцев назад

    Отлично! Прям то, что надо!

  • @ОлесяОлехнович-в4я

    Спасибо! Давно хотела этому научиться!

  • @aniechka
    @aniechka 3 месяца назад

    Спасибо за полезную инфу!

  • @ТагирМуртузалиев-ц6ю

    Спасибо работает 😀❤

  • @ExcelStore
    @ExcelStore 3 года назад +1

    Интересное видео. Спасибо.

  • @HelloWorld_r1a1
    @HelloWorld_r1a1 2 года назад +9

    Спасибо!
    Может кому будет нужно. Конечный вид итоговой функции без необходимости использования триггеров:
    function onOpen() {
    let lastRow = SpreadsheetApp.getActiveSheet().getLastRow()
    SpreadsheetApp.getActiveSheet().getRange(lastRow, 1).activate()
    }
    "Инструменты -> Редактор скриптов" такого пункта у меня не было, зато открылось то же самое через "Расширения -> Apps Script"

    • @ЛесяДавыденко-и3ъ
      @ЛесяДавыденко-и3ъ Год назад +2

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

  • @romanivanov2556
    @romanivanov2556 2 года назад +2

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

  • @mycombatscom
    @mycombatscom 10 месяцев назад

    огромный респект!

  • @otexe7233
    @otexe7233 2 года назад +1

    Кайф! очень поможет в работе!!!

  • @Jul25619
    @Jul25619 7 месяцев назад

    Огромное спасибо !!!!

  • @OlegVt-l1r
    @OlegVt-l1r 2 месяца назад

    Спасибо! У меня только на последнюю строку (не заполненную, а именно последнюю), подскажите, что может быть не так прописано?

  • @LiceDejj
    @LiceDejj 8 месяцев назад

    это великолепно!

  • @Yogsvet
    @Yogsvet 9 месяцев назад

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

  • @543571
    @543571 3 года назад +4

    Добрый день! Огромное спасибо за скрипт! Подскажите, всё работает на обычной таблице, но когда пытаешься запустить его в таблице с закреплённой шапкой, ничего не происходит. Можно это как-то исправить?

    • @cepxuo79
      @cepxuo79 2 года назад +1

      странно, у меня работает с закрепленной шапкой прекрасно. спасибо автору канала!

  • @Татьяна-б3р3й
    @Татьяна-б3р3й Год назад +2

    Очень полезная инфа, но в моем случае не работает... т.к у меня есть строки в которых присутствуют нули... и по этому скрипт прокручивает до самого конца листа. Наверняка можно подкрутить этот скрипт, чтобы ориентир был на последнюю заполненную строку ОПРЕДЕЛЕННОГО СТОЛБЦА. Кто знает как решить задачу?

  • @ЕленаПаталах-ь5ы
    @ЕленаПаталах-ь5ы 2 года назад

    Спасибо, работает!)

  • @mac-parovoz
    @mac-parovoz Год назад

    делал во втором файле и там перестало работать - в первом работает, а во втором нет. в чём дело?

  • @nikitaegorov9729
    @nikitaegorov9729 3 года назад +4

    Здравствуйте! Спасибо за скрипт. Возможно ли его распространить на все листы и что бы скрипт срабатывал при открытии новых листов тоже, а не только после перезагрузки самого файла?

    • @sreda31
      @sreda31  3 года назад

      Скрипты позволяют решать различные задачи довольно гибко. Приходите на вебинар - научим. Ссылка в описании к видео.

  • @kwatikk
    @kwatikk 10 месяцев назад

    СПАСИБО❤‍🔥

  • @alexvrodchenko7030
    @alexvrodchenko7030 3 года назад +2

    У меня почему-то попадает на последнюю (незаполненную) строку в таблице. Т.е. в самый конец таблицы.

    • @sreda31
      @sreda31  3 года назад +1

      Видимо, ваш скрипт отличается от написанного преподавателем. Просто воспроизведите код из видео.

    • @alexvrodchenko7030
      @alexvrodchenko7030 3 года назад +1

      @@sreda31 Спасибо за оперативный ответ. Скорее всего опускает в самый низ таблицы из-за формулы (массива). Но мне прям очень понравилось! Пойду посмотрю на ваши курсы.

    • @katefromr
      @katefromr Год назад +1

      @@sreda31 у меня тоже попадает в конец таблицы, код как в видео, 1 в 1... как поправить можно?

  • @whitelight-zc6cm
    @whitelight-zc6cm 9 месяцев назад

    Круто, выражаю признательность! Жаль только, что применяется к активному листу, а не к листам всей книги (всего файла). При переходе на другой лист, открывается первая строка (первая ячейка) нужно каждый раз нажимать "обновить" страницу, вот бы автоматически показывала таблица на всех листах сразу последнюю строчку без вынужденного ручного обновления.

    • @sreda31
      @sreda31  9 месяцев назад

      Скрипты позволяют реализовать почти любую фантазию 😁

  • @eugeniabechenova
    @eugeniabechenova 7 месяцев назад

    прописала все буква в букву, вышло примерно ничего
    в чем может быть затык??

  • @mokrushaspb
    @mokrushaspb 2 года назад +1

    Добрый день! Подскажи пожалуйста как это сделать в гугл таблице?
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 And Target.Row > 1 And Not IsEmpty(Target.Value) Then _
    Target.Offset(0, -1).Value = Date
    End Sub
    может что то не так написал извиняюсь так как не сильно что то понимаю. Цель что бы при написании чего либо в ячейке B3 например, в ячейке А3 автоматически ставилась дата и не менялась на следующий день. За ранее спасибо.

    • @sreda31
      @sreda31  2 года назад

      Добрый день. Отличная новость, на канале уже есть такое видео!

  • @iliuhahaha
    @iliuhahaha 9 месяцев назад +1

    Классные видео

  • @НикитаСвяткин-с8я
    @НикитаСвяткин-с8я 3 года назад +1

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

    • @sreda31
      @sreda31  3 года назад

      Под видео есть ссылка на курс. Приходите, научим!

  • @lagrogen3681
    @lagrogen3681 3 года назад +1

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

    • @sreda31
      @sreda31  3 года назад

      Скрипты позволяют решать различные задачи довольно гибко. Приходите на вебинар - научим. Ссылка в описании к видео.

  • @serdjtambovskiy
    @serdjtambovskiy Год назад

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

    • @sreda31
      @sreda31  Год назад

      Конечно! Если не получается адаптировать скрипт из видео под собственные нужды, то под видео есть ссылка на курс: приходите, научим.

  • @MrAsyra
    @MrAsyra 2 года назад +1

    спасибо, просто настораживает, что гугл ругается, что теперь у кого-то есть доступ к нашей таблице. это безопасно?

    • @sreda31
      @sreda31  2 года назад

      Вы сами устанавливаете, у кого будет доступ к вашим данным, так что ваша безопасность полностью в ваших руках.
      Волноваться стоит при использовании скриптов от неизвестных или непроверенных разработчиков. В своем собственном скрипте вы вряд ли закладывали какой-то «лишний» функционал.

  • @rom8498
    @rom8498 2 года назад +2

    Здравствуйте!
    1. В инструментах у меня нету "скриптов", в гугле нашел apps script, но он не ставиться как приложение.
    Что я делаю не так ?
    2. При тесте кода выдает ошибку
    Сам код:
    function getLastRow() {
    let LastRow = SpreadsheetApp.getActiveSheet().getLastRow()
    SpreadsheetApp.getActiveSheet().getRange(lastRow, 3).activate()
    }
    3. При тесте выдает ошибку:
    lastrow undefined

    • @ДмитрийГришин-ъ7ц
      @ДмитрийГришин-ъ7ц 2 года назад +1

      в последней скобке в скобках надо написать (LastRow, 3)
      у Вас то с маленькой, то с большой буквы эта переменная задана

    • @Alexandr_Wo
      @Alexandr_Wo Год назад +1

      У вас ошибка в коде let lastRow , а не LastRow это ответ на 2е, на 1е - у вас возможно нет доступа к таблице как создателя ее , а не пользователя с редактированием.

  • @СветланаУшакова-к5у

    Здравствуйте! Сделала все по вашему уроку, но журнал выдает такую ошибку "TypeError: SpreadsheetApp.getActiveSheet.getRange is not a function". В чем может быть ошибка?

    • @sreda31
      @sreda31  2 года назад

      Перепроверьте написанный код еще раз. Вероятно, вы что-то упустили.

  • @18888834645454545454
    @18888834645454545454 2 года назад +1

    Спасибо за видео! А можно сделать не на последнюю заполненную, а на нужную ячейку. Есть ячейка с координатами по которым нужно перейти.. как сослаться на эту ячейку? Либо сделать сразу скрипт "На последнюю измененную ячейку", а не просто на последнюю. Либо ваше "+1" сделать минус ссылка на ячейку с нужной цифрой, которая сминусует нужное кол.во строк. Не понимаю как это сделать. Помогите пожалуйста.

  • @LebedevIV
    @LebedevIV 2 года назад

    Чтобы перескакивал на последнюю ячейку на каждом нескрытом листе:
    function onOpen() {
    const ss = SpreadsheetApp.getActiveSpreadsheet()
    const sheets = ss.getSheets()
    const properties = PropertiesService.getDocumentProperties()
    const lastActiveSheetName = properties.getProperty("lastActiveSheetName")
    let lastActiveSheet
    for (let sheet of sheets) {
    if (!sheet.isSheetHidden()) {
    const sheetName = sheet.getName()
    const lastEdit = properties.getProperty(sheetName)
    if (lastEdit) {
    if (sheetName !== lastActiveSheetName){
    sheet.getLastRow() // Without this magic does not work - I could not figure out the reasons
    sheet.getLastColumn() // Without this magic does not work - I could not figure out the reasons
    const [lastRow, lastCol] = lastEdit.split(',')
    sheet.getRange(Number(lastRow), Number(lastCol)).activate() // With focus set to this cell
    //sheet.setActiveSelection(sheet.getRange(Number(lastRow), Number(lastCol))) // Without setting focus to this cell
    }
    else {
    lastActiveSheet = sheet
    }
    }
    }
    }
    if(lastActiveSheet){
    lastActiveSheet.getLastRow()
    lastActiveSheet.getLastColumn()
    const [lastRow, lastCol] = properties.getProperty(lastActiveSheetName).split(',')
    lastActiveSheet.getRange(Number(lastRow), Number(lastCol)).activate()
    }
    }
    function onEdit() {
    const ss = SpreadsheetApp.getActiveSpreadsheet()
    const sheet = ss.getActiveSheet()
    if (!sheet.isSheetHidden()) {
    const cell = ss.getActiveCell()
    const row = cell.getRow()
    const column = cell.getColumn()
    if (row !== 1 || column !== 1) { // Protection from the evil magic of "self-editing" the first cell
    const sheetName = sheet.getName()
    PropertiesService.getDocumentProperties().setProperty(sheetName, `${row},${column}`)
    PropertiesService.getDocumentProperties().setProperty("lastActiveSheetName", sheetName)
    }
    }
    }