Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Поиск ячейки с датой-временем в Excel 2010
 
Спасибо за внимание. Попробовал, сделал по аналогии с вашим примером - вот так. Не помогает.

Dim sDate As String
sDate = Format(CDate(r2), "dd.mm.yyyy" ;)
Dim sTime As String
sTime = Format(CDate(r2), "hh:nn:ss" ;)

Set rTempFind = Sheets("Data" ;) .Range("A:A" ;) .Find(What:=DateValue(sDate) + TimeValue(sTime), LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False)

Кажется, я нашел, как это сделать немного по другому. На рабочем листе составляю формулу на ячейке A3 ПОИСКПОЗ(A1;B:B). В макросе пишу :

Dim d As Date
d = "18.12.2012 09:30"

Dim s As String
s = Format(d, "m\/d\/yyyy hh:nn" ;)  
Range("A1" ;) .FormulaR1C1 = s

В A1 макросом пишу искомую дату, а в ячейке A3 возвращается ее позиция в столбце B, а у ж из нее я планирую вычислять объект Range ячейки. Извращение, но делать нечего.

p.s. \/ в формате даты - это не буква виктория, это два разнонаправленных слэша.
Изменено: Андрей - 27.12.2012 08:29:23
Поиск ячейки с датой-временем в Excel 2010
 
Вот. Сил моих уже нет :) Я на всякий случай на листе Data сделал 2 варианта даты-времени - как в идеале должно быть (с формулами) и рядом то же, но вставленное Специальной вставкой (Значения). Я так подозреваю, что у нас в компании наверное какие-то экзотические настройки формата даты-времени могут стоять, так как на соседнем компе с Excel 2007 то же самое. В 2003 кстати тоже не работает :)
Поиск ячейки с датой-временем в Excel 2010
 
Указание r2 также не работает. Поверьте, я перебрал все, то можно. Даже пробовал форматировать, используя формат, взятый непосредственно с листа, на котором производил поиск, то есть вот так

Set rTempFind = Sheets("Data").Range("A:A").Find(What:=Format(CDate(r2), Sheets("Data").Range("A3").NumberFormat), LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False)

Видно придется на 2003 возвращаться...
Поиск ячейки с датой-временем в Excel 2010
 
У меня вот так не работает
? r2
24.12.2012 14:00:00

Dim sDate As String, rTempFind  as Range
sDate = Format(CDate(r2), "M/D/YYYY HH:MM")
Set rTempFind = Sheets("Data").Range("A:A").Find(What:=sDate, LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False)

rTempFind получается Nothing...На листе Data искомые дата-время есть

маски для времени H:M, HH:M, H:MM не меняют ничего
Поиск ячейки с датой-временем в Excel 2010
 
У меня то, что ищется берется из другого листа в переменной r2. Попробовал вот так сделать

Dim sDate As String, rTempFind as Range
sDate = Format(CDate(r2), "MM/DD/YYYY HH:MM")

Set rTempFind = Sheets("Data").Range("A:A").Find(What:=sDate, LookIn:=xlValues, LookAt:=xlWhole, SearchFormat:=False)

rTempFind всегда Nothing...

p.s.Установка xlFormulas вместо xlValues не влияет
Поиск ячейки с датой-временем в Excel 2010
 
Друзья, день добрый! Сижу и туплю наверное уже не один час. Имеется Excel 2010, на одном из листов которого в столбце A указан список дата-время. Скопировал содержимое

17.12.2012 00:15:00
17.12.2012 00:30:00
17.12.2012 00:45:00
17.12.2012 01:00:00
17.12.2012 01:15:00
17.12.2012 01:30:00
17.12.2012 01:45:00
17.12.2012 02:00:00
17.12.2012 02:15:00
17.12.2012 02:30:00
17.12.2012 02:45:00
17.12.2012 03:00:00
17.12.2012 03:15:00

Пытаюсь организовать поиск в макросе, увы и ах, не получается. Я поискал на рабочем листе поиском - нормально, записал это в макрос. Запускаю макрос - вылетает ошибка. Макрос прилагаю, я его не менял.

Cells.Find(What:="17.12.2012 00:30:00", After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext _
, MatchCase:=False, SearchFormat:=False).Activate

В чем дело, какие-то особенности моего экселя? Я пробовал конвертить в дату, брать значение из ячейки листа - не получается и все!

Раньше у меня стоял 2003 - проблем не возникало. Вообще проблема возникла именно после того, как макрос, исправно работающий в 2003 отказался по вышеуказанной причине работать в 2010.
Изменено: Андрей - 26.12.2012 16:43:02
Присвоить переменной range результат, возвращаемый формулой СМЕЩ
 
{quote}{login=Казанский}{date=04.10.2011 11:49}{thema=}{post}set MyCell = range([EE35]).offset(,[EC35]-1)
{/post}{/quote}  
 
Спасибо. Проблема в том, что вы предлагаете вручную переводить из формулы листа в формулу VBA...а если будет несколько разных формул, которые еще и меняться будут периодически? Каждый раз вручную писать аналоги в VBA - не айс))) имелось в виду автоматически брать то значение, которое выдает формула листа и присваивать его переменной range... типа функции Application.Evaluate что-нить...
Присвоить переменной range результат, возвращаемый формулой СМЕЩ
 
Друзья, встала вот такая проблема - на листе есть формула листа, возвращающая диапазон (точнее, одиночную ячейку). Формула имеет вид типа СМЕЩ(ДВССЫЛ(EE35);0;EC35-1). Есть ли какой-то способ, чтобы диапазон, возвращаемый ею присвоить переменной типа range в макросе VBA? Понимаю, что это извращение, но мне приходится подлаживаться под сложившуюся систему.
Страницы: 1
Наверх