Кажется, я нашел, как это сделать немного по другому. На рабочем листе составляю формулу на ячейке 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. \/ в формате даты - это не буква виктория, это два разнонаправленных слэша.
Вот. Сил моих уже нет Я на всякий случай на листе Data сделал 2 варианта даты-времени - как в идеале должно быть (с формулами) и рядом то же, но вставленное Специальной вставкой (Значения). Я так подозреваю, что у нас в компании наверное какие-то экзотические настройки формата даты-времени могут стоять, так как на соседнем компе с Excel 2007 то же самое. В 2003 кстати тоже не работает
Указание r2 также не работает. Поверьте, я перебрал все, то можно. Даже пробовал форматировать, используя формат, взятый непосредственно с листа, на котором производил поиск, то есть вот так
Set rTempFind = Sheets("Data").Range("A:A").Find(What:=Format(CDate(r2), Sheets("Data").Range("A3").NumberFormat), LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False)
У меня вот так не работает ? 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, на одном из листов которого в столбце A указан список дата-время. Скопировал содержимое
Пытаюсь организовать поиск в макросе, увы и ах, не получается. Я поискал на рабочем листе поиском - нормально, записал это в макрос. Запускаю макрос - вылетает ошибка. Макрос прилагаю, я его не менял.
В чем дело, какие-то особенности моего экселя? Я пробовал конвертить в дату, брать значение из ячейки листа - не получается и все!
Раньше у меня стоял 2003 - проблем не возникало. Вообще проблема возникла именно после того, как макрос, исправно работающий в 2003 отказался по вышеуказанной причине работать в 2010.
Спасибо. Проблема в том, что вы предлагаете вручную переводить из формулы листа в формулу VBA...а если будет несколько разных формул, которые еще и меняться будут периодически? Каждый раз вручную писать аналоги в VBA - не айс))) имелось в виду автоматически брать то значение, которое выдает формула листа и присваивать его переменной range... типа функции Application.Evaluate что-нить...
Друзья, встала вот такая проблема - на листе есть формула листа, возвращающая диапазон (точнее, одиночную ячейку). Формула имеет вид типа СМЕЩ(ДВССЫЛ(EE35);0;EC35-1). Есть ли какой-то способ, чтобы диапазон, возвращаемый ею присвоить переменной типа range в макросе VBA? Понимаю, что это извращение, но мне приходится подлаживаться под сложившуюся систему.