|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2011, 11:16 | #1 |
Регистрация: 09.05.2009
Сообщений: 6
|
нахождение последней строки
добрый день!!у меня такая проблема есть цикл который должен продолжаться до конца таблицы.проблема в том что я не знаю какое условие нужно ставить на конец цикла
Код:
не надо создавать одинаковые темы и сообщения. Кросспост запрещён на форуме. Модератор. Последний раз редактировалось Serge_Bliznykov; 13.07.2011 в 11:52. |
13.07.2011, 11:57 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Вам поможет эта функция: http://excelvba.ru/code/Range2TXT
Код будет выглядеть так: Код:
|
13.07.2011, 11:58 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вы не поверите, сколько есть вариантов, чтобы определить последнюю строчку в таблице (начиная от последней используемой строчки и заканчивая последней заполенной ячейкой в нужном столбце..
посмотрите на варианты: Код:
Код:
Код:
Код:
это так, "навскидку"... |
13.07.2011, 12:13 | #4 |
Регистрация: 09.05.2009
Сообщений: 6
|
Serge_Bliznykov вот чесно я мало что понимю.если не трудно можете показать на моем коде куда вставить ваш пример
|
13.07.2011, 12:51 | #5 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
Тут всё зависит от того, ЧТО именно Вы называете "концом таблицы". Допустим, это ПОСЛЕДНЯЯ используемая (заполненная) строчка на листе Excel. тогда Ваш код можно записать так: Код:
|
||
13.07.2011, 13:05 | #6 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Можно так - не выделяя последнее значение из цикла:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
13.07.2011, 13:12 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Казанский, можно и так.
только поведение данного кода будет ДРУГОЕ! если, например, все столбцы (за исключением 4-го столбца) заполнены до 100-й строки, а 4-й столбец - до 5-й строки, то Cells(Rows.Count, 4).End(xlUp).Row - вернёт именно 5 (пять)... возможно, автору топика так и нужно (это же упирается в то, что понимать под "концом таблицы"). Просто нужно знать, что данные примеры кода не эквивалентны! а можно ещё и так написать: Код:
Последний раз редактировалось Serge_Bliznykov; 13.07.2011 в 13:14. |
13.07.2011, 15:59 | #8 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
учитывая, что есть столбец, в котором заполнены все строки таблицы (тут это 1й), я пользовалась таким способом:
Код:
Последний раз редактировалось Bape}l{ka; 13.07.2011 в 16:03. |
13.07.2011, 16:22 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Bape}l{ka, ну и зря! Вы КАТЕГОРИЧЕСКИ не правы!
Два основных "косяка" Вашего кода. 1) а если в таблице 55000 строк заполнено? А если 100 000 ? 200 000 ? (версия Excel >= 2007) ?! 2) зачем искать перебором, когда можно одной (ОДНОЙ строчкой) найти последнюю заполненую ячейку в ЛЮБОМ столбце! вот, например, для столбца A Код:
Вы будете ОЧЕНЬ удивлены! |
13.07.2011, 18:02 | #10 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
Serge_Bliznykov, вы правы, но т.к. у меня таблицы максимум на пару тыщ, то пока вопрос времени работы макроса не вставал =ь
впрочем, возьму на заметку ваш способ, у меня уже были подобные мысли, а представленный мной способ было пробой пера в VBA, зато сразу понятно, что происходит =ь для начинающих, так скать =ь |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
макрос поиск последней незаполненной строки | Uralmaster | Microsoft Office Excel | 21 | 10.02.2011 02:17 |
перенести значение последней заполненной строки | Jazz1200 | Microsoft Office Excel | 4 | 12.12.2010 17:11 |
Заполнение последней строки StringGrid нулями. | Asblue | Помощь студентам | 2 | 01.11.2010 15:05 |
Добавление в TMemo, последней строки из TStringList | OPF_Nik | Помощь студентам | 3 | 31.01.2010 17:35 |
Выделение цветом последней строки DBGrig | Yura_S | Помощь студентам | 2 | 28.10.2009 08:35 |