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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2009, 03:02   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Зависимость даты дней от дня недели

Как автоматизировать, сей сложный ручной ввод?
Ввожу каждый месяц в ручную, графы Д-Н, а они зависят от даты Е1, Е29..... с шагом 28

Каждый понедельник месяца, должен показывать, три предыдущих дня(пятница, суббота, воскресенье)

Листаются дни кл. PGDN и PGUP
Вложения
Тип файла: rar zxc.rar (24.9 Кб, 23 просмотров)

Последний раз редактировалось valerij; 17.06.2009 в 03:08.
valerij вне форума Ответить с цитированием
Старый 17.06.2009, 13:03   #2
xNut
 
Аватар для xNut
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Используйте + и - для смещения на несколько дней вперед, назад от текущей
например, =Сегодня()+2 даст послезавтра
xNut вне форума Ответить с цитированием
Старый 17.06.2009, 15:33   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от xNut Посмотреть сообщение
Используйте =Сегодня()+2 даст послезавтра
Это не то.
Формулами это выглядит, так: в Е1 стоит дата 01-06-09-понедельник
Тогда
Код:
С5 =ЕСЛИ(ДЕНЬНЕД(E1;2)=1;ДЕНЬ(E1-1);ДЕНЬ(E1-1)) ' 31 мая
С6 =ЕСЛИ(ДЕНЬНЕД(E1;2)=1;ДЕНЬ(E1-2);ДЕНЬ(E1-2)) ' 30 мая
С7 =ЕСЛИ(ДЕНЬНЕД(E1;2)=1;ДЕНЬ(E1-3);ДЕНЬ(E1-3)) ' 29 мая
Не знаю, как макросом определять Понедельники?
valerij вне форума Ответить с цитированием
Старый 17.06.2009, 15:54   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Дата = CDate("01-06-09")
    НомерДняНедели = Application.Weekday(Дата, 2)
    If Application.Weekday(#6/1/2009#, 2) = 1 Then MsgBox "Это понедельник!"
End Sub

Последний раз редактировалось EducatedFool; 17.06.2009 в 15:57.
EducatedFool вне форума Ответить с цитированием
Старый 17.06.2009, 16:06   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
Sub test()
    Дата = CDate("01-06-09")
Игорь, а как дату брать с яч. Е1, Е29....??
Код:
 Дата = [E1]
так не работает
valerij вне форума Ответить с цитированием
Старый 17.06.2009, 16:11   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
так не работает
Валера, ну ты же не первый день на форуме...
Что значит не работает? Какая ошибка выскакивает?
В чем проявляется неработоспособность?

Ну попробуй так:
Дата = cdate([E1])
EducatedFool вне форума Ответить с цитированием
Старый 17.06.2009, 16:34   #7
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Что значит не работает? Какая ошибка выскакивает?
В чем проявляется неработоспособность?Ну попробуй так:
Дата = cdate([E1])
Да, что то с форумом, через поиск нахожу свою тему, что на висте, что на ХР
Пробовал, любая дата, все равно пишет Это понедельник!
valerij вне форума Ответить с цитированием
Старый 17.06.2009, 16:36   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
 If Application.Weekday([e1], 2) = 1 Then MsgBox "Это понедельник!"
Ты успел скопировать код в тот момент, когда я правил своё сообщение...
EducatedFool вне форума Ответить с цитированием
Старый 17.06.2009, 17:01   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

А, что с движком форума, в ХР уже и через поиск не находит тему, что за приколы!!

Последний раз редактировалось EducatedFool; 17.06.2009 в 17:14. Причина: Случайно нажал не ту кнопочку :)
valerij вне форума Ответить с цитированием
Старый 17.06.2009, 17:14   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
А, что с движком форума, в ХР уже и через поиск не находит тему, что за приколы!!
С движком форума всё в порядке.
Проблема в настройках твоего браузера.
Попробуй другой браузер.
PS: У всех поиск работает. Правда, ищет он не всё, но работает.
EducatedFool вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даты предыдущих дней Avalonix Общие вопросы Delphi 2 05.04.2009 15:40
определить день недели по заданному числу (считать в месяце 30 дней и первый день месяца понедельник dan1991 Помощь студентам 1 01.03.2009 20:59
Зависимость чисел дней месяца от месяца valerij Microsoft Office Excel 10 14.11.2008 11:01
Вычисление даты завтрашнего дня meteora Помощь студентам 3 18.01.2008 11:18
Как сделать отсчет дней от заданной даты в Excel? ru16 Microsoft Office Excel 1 22.11.2007 11:13