ТранспортМодаРецептыБлогиОхотаПутешествияСпортВесельеСвоими РукамиITЗнания
Мини-Игры
x

x
zakruti.com » ru » IT – Софт » Обучение Microsoft Office
Как найти последнюю строку/столбец - (Серия VBA 11)

Как найти последнюю строку/столбец - (Серия VBA 11)

VKTwitterOK

содержание видео

Рейтинг: 4.0; Голоса: 1
Всем привет! В этом видео мы с Вами познакомимся с самым распространенным и надежным методом для определения последней использованной строки в определенном столбце, или же наоборот последнего использованного столбца в определенной строке. Кроме того, мы также поговорим на следующие темы: Познакомимся с важной функцией в VBA Count Узнаем, как работать в Excel намного эффективнее, используя комбинации клавиш CTRL + Стрелка вверх/вниз/влево/вправо Познакомимся со следующей важной функцией в VBA End Приведем один из возможных примеров домашнего задания из предыдущего видео в конце урока Всем приятного просмотра!
Дата: 2021-09-02

Комментарии и отзывы: 10


Передо мной сейчас встала задача при помощи VBA вывести номера ПЕРВОЙ и ПОСЛЕДНЕЙ строки ВЫДЕЛЕННОГО (т. е. обращением к Selection) диапазона:
С получением номера первой строки не возникает никаких проблем - достаточно обратиться к свойству строка выделенного диапазона (Selection. Row, так как при этом выводится номер строки самой его первой ячейки, что и требуется.
Но вот как наиболее элегантно и лаконично вывести номер последней строки выделенного диапазона - для меня пока вопрос Предполагаю, что решить его можно, пропустив выделенный диапазон через массив, чтобы иметь возможность обратиться к последнему его элементу через LBound, но как-то это громоздко и сложно. Наверняка есть простой способ, о котором я пока не знаю.

ответить

Хотел бы поделиться ещё одним способом определения последней строки (кстати, и первой тоже, а также ещё и общего количества строк):
Sub RngRowsNum)
Dim FstRngRow As Long, LstRngRow As Long, RngRowsCnt As Long
FstRngRow = ActiveSheet. UsedRange. Row
RngRowsCnt = ActiveSheet. UsedRange. Rows. Count
LstRngRow = RngRowsCnt + FstRngRow - 1
Debug. Print Первая строка диапазона -- & FstRngRow
Debug. Print Всего строк в диапазоне -- & RngRowsCnt
Debug. Print Последняя строка диапазона -- & LstRngRow
End Sub

ответить

Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!
ответить

Попробовал написать ваш код для определения последних столбца/строки для другой книги, указав название книги и выскочила ошибка Subscript out of range. Книга сохранена в Excel 1997-2003. Видимо там меньше ячеек в столбцах/строках. На данный момент последние столбцы/строки получаю при помощи циклов Do while
ответить

Добрый день. В видео вы предлагаете написать в комментах - что предпочтительнее для поиска последней строки/столбца: Cells или Range? Думаю Cells в данном случае предпочтительнее - с помощью Range неудобно искать последний столбец, т. к. здесь надо завать его имя, а не номер.
ответить

Билял, эталонная подача материала. Просто пособие какое-то, для создателя практически любого обучающего видео.
Вопрос - как реализовали 2: 52 клавиатуру и подсветку нажимаемых клавиш? какой программой записываете происходящее на экране?

ответить

Добрый день. Спасибо за Ваши уроки! У меня один вопрос: правильно ли я понимаю, что в последнем примере счетчику (cycleCounter) не обязательно присваивать значение ноль в самом начале цикла? Ему изначально присваивается ноль?
ответить

Наконец-то написал макрос, которой был нужен. Только благодаря видео с этого канала смог разобраться. Спасибо)
Все четко, без воды. Только нужная информация. Класс)

ответить

Использую всегда cells, просто привычнее)
Как-то удобнее посчитать кол-во строк и столбцов) или прописать Endrow, Endcolumn, если заранее установил их значения как const.

ответить

Есть замечание. В задании было показано курсором на следующую строку в messge. То есть для полной красоты надо так:
InputBox(Введите OK & Chr(13) + Chr(10) & Проход цикла: i)

ответить
Добавить отзыв, комментарий






Другие видео канала