Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
DVSamchuk
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 15
#1

Поиск минимальной даты в диапазоне без учета пустых значений

29.05.2014, 16:30. Просмотров 794. Ответов 4
Метки нет (Все метки)

Уважаемые знатоки, есть головоломка одна.
Прежде всего, файл прикреплен.
В нем есть 2 именованных диапазона (Dates & Clients)

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

Как видим, выполнив процедуру, мы всегда получаем мин. дату = 0.
А мне, грубо говоря, надо чтобы отображалась 01.01.2014.

Соотв. вопрос: как обрезать этот диапазон в момент поиска в нем минимального значения? Была идея объявить диапазон DateArray() как Names ("Dates") и работать с ним, но не особо вышло.

Заранее благодарю за ответы!
0
Вложения
Тип файла: rar avgliab_v3.rar (12.2 Кб, 10 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 16:30
Ответы с готовыми решениями:

Поиск без учета разницы между е и ё
Утро доброе может, кто поможет есть большая база, которая при заполнении...

Поиск без учета порядка слов
Здравствуйте! Проблема вот какая: поставщик дает прайс с наименованиями товара,...

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

Удаление пустых строк в диапазоне
Ребят, у меня опять проблемы по невнимательности. Написал тут Private Sub...

Удаление пустых строк в определенном диапазоне
Ситуация следующая: есть, например, таблица - некоторые строки в ней заполнены,...

4
ikki
призрак
2823 / 879 / 118
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
29.05.2014, 16:54 #2
Visual Basic
1
2
3
4
5
6
Sub tst()
  With Sheets(1)
    x = Application.Min(.Range(.[b1], .Cells(1, .Columns.Count).End(xlToLeft)))
    MsgBox CDate(x)
  End With
End Sub
0
DVSamchuk
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 15
30.05.2014, 11:10  [ТС] #3
Благодарю за ответ. Так, конечно же, можно. Но идея в том, чтобы выполнять поиск минимального значения именно в именованном диапазоне, исключая нулевые значения.
Цитата Сообщение от DVSamchuk Посмотреть сообщение
Создал именно имена потому, что возможно появится необходимость добавлять строки выше или столбцы слева.
0
ikki
призрак
2823 / 879 / 118
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
30.05.2014, 17:39 #4
Visual Basic
1
2
3
4
5
6
7
8
Sub tst()
  Dim c As Range, xMin
  xMin = 99999
  For Each c In Names("Dates").RefersToRange
    If c <> 0 Then If xMin > c.Value Then xMin = c.Value
  Next
  MsgBox xMin
End Sub
1
DVSamchuk
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 15
03.06.2014, 18:28  [ТС] #5
Картина называется: "...а ларчик просто открывался"
Спасибо большое, сам не допёр зациклить

Добавлено через 30 секунд
Господа, тема закрыта.
0
03.06.2014, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2014, 18:28

Установка даты в диапазоне ячеек
Добрый день. Необходим макрос, который будет проверять ячейку из диапазона на...

Найти все даты в диапазоне
Подскажите пожалуйста, как найти все даты в диапазоне, т.е. имеем две даты от и...

Скопировать выделенный диапазон без пустых строк
Нужно в Exel 2010 копировать данные в буфер обмена без пустых ячеек. Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru