Страницы: 1
RSS
Переход на ячейку с текущей датой
 
Здравствуйте. В Excel создан календарь, внешне напоминающий календарь Outlook. Календарь охватывает несколько лет, информацией приходится пользоваться постоянно по всему периоду. Требуется по нажатию на кнопку возвращаться к текущей дате, т.е. чтобы соответствующие ячейки оказывались в поле экрана. В Outlook это реализовано кнопкой "Сегодня". Если не затруднит, окажите, пожалуйста. помощь. Благодарю заранее. Александр.
 
Код
Cells.Find(Format(Date, "dd mmmm yyyy \г\."), LookIn:=xlValues).Select
Учимся сами и помогаем другим...
 
У меня в английском работает так:
Код
Sub Сегодня()
    Dim x As Range, y As String

    y = Format(Date, "[$-F800]dddd, mmmm dd, yyyy")
    Set x = Sheets(1).UsedRange.Find(y, , xlValues, xlWhole)
    If Not x Is Nothing Then x.Select
End Sub
 
Спасибо, ber$erk, это то, что надо.
 
Hugo, спасибо за ответ. Почему-то не заработало...
 
У меня в английском наоборот - не работает вариант ber$erk'a.
 
Почему-то Excel стал выдавать окошко "Runtime Error 91: Object variable or with block variable not set" на единственную строчку кода:
Код
Cells.Find(Format(Date, "dd mmmm yyyy \г\."), LookIn:=xlValues).Select


До этого какое-то время все работало нормально. Кто знает, что это может быть?
Изменено: avliet - 09.09.2013 22:32:27
 
Гиперссылка, 2 варианта:
 
Можно чуть короче:
Код
=ГИПЕРССЫЛКА("#"&АДРЕС(СУММПРОИЗВ((B4:H429=СЕГОДНЯ())*СТРОКА(B4:B429));2+ОСТАТ(СЕГОДНЯ()-2;7));"СЕГОДНЯ")

или так
Код
=ГИПЕРССЫЛКА("#"&АДРЕС(ОКРВВЕРХ((СЕГОДНЯ()-41147)/7*6;6)-2;2+ОСТАТ(СЕГОДНЯ()-2;7));"СЕГОДНЯ")
 
Благодарю, Nic70y и DV.
Воспользовался вариантом с выделением ячеек, лежащих под датой. Как такое написать самому пока не разобрался.
Если кто-то все-таки знает причину появления "Runtime Error 91: Object variable or with block variable not set" - сообщите, если не лень.
Изменено: avliet - 09.09.2013 22:33:05
Страницы: 1
Наверх