Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2013, 13:46   #1
FiataliS
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 56
Стрелка Как назначить переменной номер строки

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

Пробывал таким образом, но кажется 100% так не правильно

Код:

Dim V As Integer

V = lLastRow = Cells(Rows.Count, 7).End(xlUp).row
Знаю как, не знаю что и с чем.
FiataliS вне форума Ответить с цитированием
Старый 20.12.2013, 13:51   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

так напишите
Код:
V = Cells(Rows.Count, 7).End(xlUp).Row
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 20.12.2013, 13:51   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Dim V As Integer

V = Cells(Rows.Count, 7).End(xlUp).row
вот так будет правильнее)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 20.12.2013, 15:05   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а если строка с последней заполненной ячейкой скрыта пользователем то уже не правильно(((
...SpecialCells(xlCellTypeLastCell) аналогично, возвращает последнюю видимую ячейку

Цикл от UsedRange.Row + UsedRange.Rows.Count - 1 до 1 с поиском первой "не пустой" ячейки даст правильный результат.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.12.2013, 15:15   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А если UsedRange где-то сбоку больше, и эти строки не нужны? Или где-то в 100000 строке рамка или заливка сидит?
Я в последнее время не глядя снимаю все фильтры и отображаю все строки и тогда уже определяю End(xlUp).row
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.12.2013, 15:38   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

с проблемой определения последней ячейки не сталкивался тот, кто их не искал...
Вообще странно отсутсвие стандартной функции у Ексель.

пользователь старался чтобы лист выглядел красиво!, там скрыл, там обьединил, поставил фильтр и предполагает, что все отфильтровано согласно последним пожеланиям, а тут...
снимать фильтры, показывать все - не очень корректно. правильно - потом все вернуть обратно, как было, а это существенно усложнит поиск последней ячейки.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? Vetal888888 C# (си шарп) 4 20.12.2011 13:46
FastReport: Назначить переменной значение номера страницы LENA28 БД в Delphi 2 28.10.2010 07:56
Delphi, как узнать номер строки? Delphinchik Общие вопросы Delphi 4 10.08.2010 06:03
Как определить номер выбранной строки в стринггриде Deathwatcher Общие вопросы Delphi 2 15.06.2009 14:40
Как узнать номер строки на который поставлен курсор? Bravo Общие вопросы C/C++ 0 27.10.2008 00:29