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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2015, 13:34   #1
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию поиск ячейки с датой

Всем привет!

нужно выполнить поиск ячейки с датой в определенном диапазоне ячеек, сделал так
Код:
 Set rData = Range("A2:AB2").Find(What:=DateValue("23.07.2015"), LookIn:=xlFormulas, LookAt:=xlPart)
Проблема в следующем - не известна точная дата, известны только месяц и год, попробовал поправить дату (" *.07.2015"), но не получилось

Надеюсь на помощь форумчан
27102014 вне форума Ответить с цитированием
Старый 21.08.2015, 14:06   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Function FindDate(y As Long, m As Long, rg As Range) As Range
  Dim c As Range, d1 As Date, d2 As Date
  d1 = DateSerial(y, m, 1): d2 = DateSerial(y, m + 1, 0)
  For Each c In rg.Cells
    If c >= d1 And c <= d2 Then Set FindDate = c:  Exit Function
  Next
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.08.2015, 14:12   #3
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Игорь, спасибо!!!
27102014 вне форума Ответить с цитированием
Старый 21.08.2015, 23:29   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

27102014, Если в ячейках действительно даты, то должОн работать такой вариант :

Код:
Set rData = Range("A2:AB2").Find("7/*/2015", , xlValues)
pashulka вне форума Ответить с цитированием
Старый 24.08.2015, 09:43   #5
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Цитата:
Сообщение от pashulka Посмотреть сообщение
27102014, Если в ячейках действительно даты, то должОн работать такой вариант :

Код:
Set rData = Range("A2:AB2").Find("7/*/2015", , xlValues)
В ячейках действительно даты, но Ваш вариант не работает
придумал еще такой вариант
Код:
y = 2015 'год
q = 7 'месяц

On Error Resume Next
For i = 1 To 31 'день
Set rData = Range("A2:AB2").Find(What:=DateValue(i & "/" & q & "/" & y), LookIn:=xlFormulas, LookAt:=xlPart)
rData.Select
Next
27102014 вне форума Ответить с цитированием
Старый 24.08.2015, 19:03   #6
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Можете выложить небольшой фрагмент таблицы с датами ?
pashulka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить ячейки нужной датой из выбранного интервала Volga Microsoft Office Excel 8 21.11.2012 16:52
Работа с Датой. Формула переноса значений с ячейки в ячейку dimo Microsoft Office Excel 11 18.07.2011 15:45
поиск последней заполненной ячейки, которая находится выше ячейки с формулой Akmal-Sharipov Microsoft Office Excel 3 11.01.2011 13:27
как из ячейки с датой выразить день, месяц, год мария2507 Microsoft Office Excel 3 23.03.2010 15:10
База данных Access-Delphi. Считать текущую дату и сравнить ее с датой в ячейки базы. Mollerat БД в Delphi 11 26.01.2010 18:48