Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Переход на последнюю заполненую ячейку, не равной пусто - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Переход на последнюю заполненую ячейку, не равной пусто (Формулы/Formulas)
Переход на последнюю заполненую ячейку, не равной пусто
7773757 Дата: Четверг, 02.12.2021, 12:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

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

[vba]
Код
function getLastRow() {
let sh = SpreadsheetApp.getActiveSheet();
let C = sh.getRange('B1:B' + sh.getMaxRows()).getDisplayValues();
for (let i = sh.getMaxRows() - 1; i >= 0; i--) {
if (C[i] != '') { var LastRow = i + 1; i = 0 };
};
}
[/vba]
 
Ответить
СообщениеЗдравствуйте,
есть скрипт по переходу при открытии файла в последнюю заполненную ячейку гугл таблицы,
но в таблице ячейки заполнены формулами, результат которой равно пусто (пока не выполнится условие)
что не так в моем коде, помогите исправить

[vba]
Код
function getLastRow() {
let sh = SpreadsheetApp.getActiveSheet();
let C = sh.getRange('B1:B' + sh.getMaxRows()).getDisplayValues();
for (let i = sh.getMaxRows() - 1; i >= 0; i--) {
if (C[i] != '') { var LastRow = i + 1; i = 0 };
};
}
[/vba]

Автор - 7773757
Дата добавления - 02.12.2021 в 12:27
aliramora191 Дата: Пятница, 03.12.2021, 08:53 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 36
Репутация: 17 ±
Замечаний: 0% ±

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


Анастасия

Сообщение отредактировал aliramora191 - Пятница, 03.12.2021, 08:54
 
Ответить
Сообщениемой код, что Вы здесь выложили, это не скрипт перехода, который у Вас есть, это код записи в переменную номера строки последней не пустой ячейки в столбце...(((
кросс

Автор - aliramora191
Дата добавления - 03.12.2021 в 08:53
Gustav Дата: Пятница, 03.12.2021, 10:03 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Если нужно получить номер строки последней ячейки в столбце (а не совершить сам "прыжок" в эту ячейку по activate), то я вот за этот код ОТТУДА с добавленным от себя return (иначе же null будет всегда возвращаться в вызывающую функцию):
[vba]
Код
function getLastRow() {
    let sh = SpreadsheetApp.getActiveSheet();
    let lastRow = sh.getRange('A' + sh.getMaxRows()).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
    return lastRow; // <-- вот мой вклад в общее дело :)
}
[/vba]
Но если всё-таки подразумевается сам прыжок в эту ячейку, то всё короче (я изменил название функции, чтобы не путаться):
[vba]
Код
function jumpLastRow() {
    let sh = SpreadsheetApp.getActiveSheet();
    sh.getRange('A' + sh.getMaxRows()).getNextDataCell(SpreadsheetApp.Direction.UP).activate();
}
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 03.12.2021, 10:12
 
Ответить
СообщениеЕсли нужно получить номер строки последней ячейки в столбце (а не совершить сам "прыжок" в эту ячейку по activate), то я вот за этот код ОТТУДА с добавленным от себя return (иначе же null будет всегда возвращаться в вызывающую функцию):
[vba]
Код
function getLastRow() {
    let sh = SpreadsheetApp.getActiveSheet();
    let lastRow = sh.getRange('A' + sh.getMaxRows()).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
    return lastRow; // <-- вот мой вклад в общее дело :)
}
[/vba]
Но если всё-таки подразумевается сам прыжок в эту ячейку, то всё короче (я изменил название функции, чтобы не путаться):
[vba]
Код
function jumpLastRow() {
    let sh = SpreadsheetApp.getActiveSheet();
    sh.getRange('A' + sh.getMaxRows()).getNextDataCell(SpreadsheetApp.Direction.UP).activate();
}
[/vba]

Автор - Gustav
Дата добавления - 03.12.2021 в 10:03
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Переход на последнюю заполненую ячейку, не равной пусто (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!