![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#31 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Если применять пользовательскую функцию для получения значения первой непустой ячейки в столбце, то можно существенно проще:
Код:
Хотя, в вопросе автора есть конфликт между строками и столбцами: Цитата:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 06.07.2015 в 06:43. |
|
![]() |
![]() |
#32 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
для тех же условий
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#33 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Следует признать, что в случае, если в указанном диапазоне нет заполненных ячеек, то моя функция выдаст ошибку, а функция от IgorGO выдаст ошибочный результат.
Отчасти, это из-за того, что автор не указал, что делать в подобном случае. Пусть, например, при отсутствии значений, в качестве результата требуется получить "No". Тогда функция примет вид: Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
#34 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
![]()
Доброе утро! Текст вашего макроса уточняю до:
Function FirstNonEmpty(rng As Range) FirstNonEmpty = rng.Find("*").Value End Function Последний раз редактировалось svsh2016; 07.07.2015 в 08:19. |
![]() |
![]() |
#35 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
svsh2016
Вы не правы по 2-ум причинам. 1. Пусть, например, весь диапазон rng заполнен. В этом случае, метод Find определит не 1-ую, а 2-ую ячейку из этого диапазона (такова уж специфика этого метода). Поэтому, начинать нужно не с 1-ой, а с последней ячейки диапазона. И не снизу вверх, а вперед. Только в этом случае результат будет корректным. Именно это и делает предложенная мной функция. 2. Если, наоборот, весь диапазон пуст, то Ваша функция выдаст ошибку.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
#36 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
![]()
SAS888,Если рассмотреть только простой пример :в диапазоне A3:A20 находится в ячейке A3, например, значение 2,а остальной столбец пустой,то макрос First5 выдает 2
вариант вашего макроса ,который я выслал в 9:14, а назвал сейчас как FirstNotEmpty1 выдает 2 вариант вашего макроса FirstNotEmpty выдает 0 Код:
Код:
Код:
|
![]() |
![]() |
#37 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
1. Вариант Вашей функции (из поста №34) во-первых, выдаст ошибку в случае, когда весь диапазон пуст, во-вторых, выдаст ошибочный результат, когда заполнены, например, первых две ячейки из диапазона rng (я уже говорил про специфику работы метода Find).
2. Ваша функция First5 также выдаст ошибку при полностью пустом диапазоне rng. 3. Мой последний вариант функции не тот, который Вы приводите, а из поста №33, который работает корректно при любых условиях. Для наглядности, я все предлагаемые функции продемонстрировал в приложенном файле. Также, с позволения уважаемого IgorGO, в файл вставлена и его функция с небольшой доработкой.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 07.07.2015 в 12:10. Причина: Добавлено |
![]() |
![]() |
#38 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
всем кто мало-мальски знаком с программированием понятно, что с начала нужно:
или проверить данные и если что-то с ними не так - выдать предупреждение или вернуть соотв.результат или в процесс поиска организовать способом, который не исключает отсутсвие обьекта поиска в диапазоне поиска написание устойчивого к ошибкам кода - это следующая задача и о ней ничего в теме не сказано. но это не значит, что нельзя развить тему в этом направлении) потому что, если честно, не подглядывая сейчас, то я не помню кто автор и когда последний раз он заглядывал сюда
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#39 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
![]()
Мой макрос только First5,который работает аналогично обсужденной формуле массива Индекс.
Остальные варианты макросов-это разновидности вашего макроса с конструкцией Find. Я привел простой пример ,в котором ваш вариант из поста 34 ,я назвал ваш макрос как FirstNonEmpty34,выдает ноль вместо 2,а вы тестируете совсем другой пример заполнения ячеек,давайте рассмотрим все-таки мой пример заполнения ячеек ,а потом ваш,-то есть все по порядку.И давайте сравним все макросы с рассмотренной функцией массива Индекс Код:
|
![]() |
![]() |
#40 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Во-вторых, не нужно мне приписывать урезанную Вами в посте №34 функцию, использующую метод Find. Моя функция - это из поста №33 (и в файле). В третьих, Цитата:
Чем шире угол зрения, тем он тупее.
|
||
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать ссылку на последнюю непустую ячейку в обновляемом столбце | SVGuss | Microsoft Office Excel | 34 | 19.02.2013 16:12 |
в строке удалить первую и последнюю буквы,только записать в виде программы и тестового примера в паскаль!!! | rfnthbyf | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 14.02.2012 21:16 |
Найти и выделить по выделенной строке диапазон с такой строкой на другом листе (Excel 2003) | vfv | Microsoft Office Excel | 8 | 10.03.2010 09:30 |
Копирование данных на первую пустую ячейку | kzld | Microsoft Office Excel | 8 | 15.07.2009 14:06 |
как найти первую заполненную ячейку в диапазоне | Bezdar | Microsoft Office Excel | 3 | 19.02.2009 11:59 |