Страницы: 1
RSS
VBA + Excel + метод Find + Даты
 
Всем привет!  
 
Задача: надо, чтобы максрос находил заданную дату на листе  
 
Rак не работает:  
   Sub  
       Dim MyDate As Date  
       MyDate = ActiveCell.Offset(0, -2).Value  
       Windows("File.xls").Activate  
       Sheets("Sheet1").Select  
       Cells.Find(MyDate).Activate  
   End Sub  
 
То же, но с четко указанной датой работает:  
 
   Sub  
       Windows("File.xls").Activate  
       Sheets("Sheet1").Select  
       Cells.Find("11.12.2010").Activate  
   End Sub  
 
Хелп! Буду крайне признательна :)
 
Попробуйте искать строку: Dim MyDate As string
 
{quote}{login=Юрий М}{date=21.07.2010 08:12}{thema=}{post}Попробуйте искать строку: Dim MyDate As string{/post}{/quote}  
 
Не лучший вариант, потому что я использую "MyDate" не только здесь. И она мне нужна как дата.
 
{quote}{login=The_Prist}{date=21.07.2010 08:14}{thema=}{post}Cells.Find(CDbl(MyDate),,xlvalues,xlwhole).Activate{/post}{/quote}  
 
Пишет "Error 9: Subscript out of range"
 
{quote}{login=The_Prist}{date=21.07.2010 08:14}{thema=}{post}Cells.Find(CDbl(MyDate),,xlvalues,xlwhole).Activate{/post}{/quote}  
Дим, вообще-то если только дата, достаточно Clng ИМХО. Как-то по поводу автофильтра был диспут...
Я сам - дурнее всякого примера! ...
 
Меня вот эта строка автора натолкнула на Clng: "Cells.Find("11.12.2010").Activate". И тут же чувствуется правота Юры. Похоже, на текст. Циклом искать Cdate(cell) будет геморно, так-что либо Юрин вариант, либо изменение форматов в таблице.
Я сам - дурнее всякого примера! ...
 
ну попробуйте  
 
Cells.Find(format(MyDate,"ddMMYYYY").Activate
 
Дык,  автор пишет: "Не лучший вариант, потому что я использую "MyDate" не только здесь. И она мне нужна как дата." Значит все же дата?    
Warbler, Вы бы выложили пример, где не ищет, давно бы получили ответ. А так мы гадаем здесь гурьбой, чего Вам нужно.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=22.07.2010 10:44}{thema=}{post}Дык,  автор пишет: "Не лучший вариант, потому что я использую "MyDate" не только здесь. И она мне нужна как дата." Значит все же дата?    
Warbler, Вы бы выложили пример, где не ищет, давно бы получили ответ. А так мы гадаем здесь гурьбой, чего Вам нужно.{/post}{/quote}  
 
Все вижу, все читаю, не успеваю пробовать :-[
 
Файл выложу, просто "как есть" его выложить не могу, нужно некоторое время на переделку.
 
меня тоже постоянно мучит этот вопрос)  
 
вот как правильно записать макрос чтобы работало?
 
Спасибо) но как работает все равно не понятно)
 
Не могу понять, в процессе создания файла для образца все заработало. В таком виде, в каком написано в первом посте. Теперь не могу вернуть ошибку, чтобы понять, в чем была проблема :-[
 
Всем большое спасибо :)
 
Наверное, Вы просто исправили "Rак не работает" на "Так не работает" :-)
 
{quote}{login=Юрий М}{date=23.07.2010 12:51}{thema=}{post}Наверное, Вы просто исправили "Rак не работает" на "Так не работает" :-){/post}{/quote}  
 
Не на "Так", а на "Как" ;)
 
Не Cells.Find(MyDate).Activate  
 
А  Cells.Find(What:=MyDate).Activate
 
:-)И как бы между прочим, сказала невпопад. Не говоря уже, что теме 2 года.  
Wulf007, может поясните форуму, в чем высшая мудрость Вашего варианта?
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Наверх