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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 21:26   #21
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

В лоб
Код:
Sub ShowNow()
Dim r As Range
Sheets("TT").Activate 'если в книге не 1 лист
For Each r In Range([a3], Cells(Rows.Count, 1).End(xlUp)).Cells
    If IsDate(r) Then
        If r >= Date Then Exit For
    End If
Next r
If Not r Is Nothing Then Application.Goto r, True
End Sub
nilem вне форума Ответить с цитированием
Старый 29.06.2011, 21:58   #22
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от nilem Посмотреть сообщение
В лоб
Все ОК!!!
Спасибо!
valerij вне форума Ответить с цитированием
Старый 02.07.2011, 11:38   #23
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Опять нужна помощь, как записать условие, красным, что если сейчас июль, то выполнить макрос июль, если август, макрос август...?
На листе три месяца, запись:
Application.Goto .Cells([MATCH(TODAY(),a:a,)], 1), True
очень удобна, сразу перемещает на нужное число месяца, при этом, что бы и выполнила соответсвующий макрос.
Спасибо.
Код:
Private Sub Worksheet_Activate()
    With Application
        .EnableEvents = False
IF
        .Goto .Cells([MATCH(TODAY(),a:a,)], 1), True
        июль
        август
        сентябрь
End If
            Vn
            Vv
                .OnKey "{PGDN}", "Vn"
            .OnKey "{PGUP}", "Vv"
        .EnableEvents = True
    End With
End Sub
Сделал!!!!!!!
Код:
Private Sub Worksheet_Activate()
MyWeekDay = Month(Date)
    With Application
        .EnableEvents = False
        .Goto .Cells([MATCH(TODAY(),a:a,)], 1), True
        If MyWeekDay = 7 Then июль
        If MyWeekDay = 8 Then август
        If MyWeekDay = 9 Then сентябрь
            Vn
            Vv
                .OnKey "{PGDN}", "Vn"
            .OnKey "{PGUP}", "Vv"
        .EnableEvents = True
    End With
End Sub

Последний раз редактировалось valerij; 02.07.2011 в 12:54.
valerij вне форума Ответить с цитированием
Старый 02.07.2011, 13:20   #24
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Валера, привет. Можно проще:
Код:
       Application.Run MonthName(Month(Date))
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 02.07.2011, 14:43   #25
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Можно проще
Привет!!
Да, класс!
Спасибо.
valerij вне форума Ответить с цитированием
Старый 05.07.2011, 01:09   #26
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
проще:
Код:
Application.Run MonthName(Month(Date))
Да, классно, а как приминить эту конфиг. если имя макроса смс_июль? Как туда вклеить, это смс_?
valerij вне форума Ответить с цитированием
Старый 05.07.2011, 02:49   #27
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Валер, ну ты чего?:-) Переименуй макросы или:
Код:
Application.Run "смс_" & MonthName(Month(Date))
Это если все макросы месяцев начинаются с смс_. Иначе переименовывай макросы.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 05.07.2011 в 02:52.
kuklp вне форума Ответить с цитированием
Старый 05.07.2011, 10:29   #28
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Валер, ну ты чего?:-).
Та сбила меня F1, вот
Код:
Dim MyDate
MyDate = #1/12/2011#            ' Assign a date.
Date = MyDate    ' Change system date.
Application.Run MonthName(Month(Date))
думаю, значит, если я в июле захочу посмотреть данный за январь, а у меня запись: Application.Run MonthName(Month(Date)), то выскачет ошибка, а как в примере, Date = константе, думал, нормально, то что надо.
А оказалось, что я системное время ПК, так же меняю, а это уже не катит.
Видимо от таких решений нужно отказаться
Так же, я не могу применить?
Код:
iMyDate = январь
Application.Run MonthName(Month(iMyDate))

Последний раз редактировалось valerij; 05.07.2011 в 10:39.
valerij вне форума Ответить с цитированием
Старый 05.07.2011, 10:36   #29
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Валер, можно:
Dim MyDate
MyDate = #1/12/2011#
Application.Run MonthName(Month(MyDate))
или
Application.Run MonthName(Month(#1/12/2011#))
Так системную дату не поменяешь.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 05.07.2011, 10:43   #30
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Так системную дату не поменяешь.
kuklp!
А через имя, могу? Ты не успел увидеть, под редактировал, выше.
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поставить в ячейку последний день месяца kzld Microsoft Office Excel 6 14.02.2011 11:55
преобразовать дату в реальное число месяца johny_03 Microsoft Office Excel 2 25.01.2011 09:14
Расчет дежурств на следующий месяц по табелю текущего месяца zenner Microsoft Office Excel 9 20.11.2010 17:01
Автоматическое создание листа с названием текущего месяца из шаблона ru3000 Microsoft Office Excel 3 06.08.2009 09:58
сравнение текущего года и месяца с годом и месяцем поступления, а после сравнения записать номер курса Таня84 БД в Delphi 5 11.06.2007 13:53