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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.01.2009, 18:48   #1
RUBEY
Пользователь
 
Регистрация: 19.03.2007
Сообщений: 53
По умолчанию Выбор смежных дат

Выбирается в данном макросе столбики объединенные одной датой D а как модифицировать оператор, чтобы выбирать не только день значение которого D, а и предыдущий ( D-1).

Sub HideColumns()
Application.ScreenUpdating = False
d = Get_Date("", Now): If d = "" Then Exit Sub
ActiveSheet.UsedRange.Offset(, 4).EntireColumn.Hidden = True

Dim cell As Range
For Each cell In ActiveSheet.UsedRange.EntireColumn. Rows(4).Offset(, 1).Cells
If (cell.MergeArea.Cells(1) Like "*" & d & "*") Then cell.EntireColumn.Hidden = False
Next cell
End Sub


Рбей
RUBEY вне форума
Старый 14.01.2009, 19:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вы хоть бы указали ссылку на ту тему, где прикреплён файл с этим макросом...

Попробуйте так:
Код:
Sub HideColumns()
    Application.ScreenUpdating = False
    d = Get_Date("", Now): If d = "" Then Exit Sub
    ActiveSheet.UsedRange.Offset(, 4).EntireColumn.Hidden = True

    Dim cell As Range
    For Each cell In ActiveSheet.UsedRange.EntireColumn.Rows(4).Offset(, 1).Cells
        If (cell.MergeArea.Cells(1) Like "*" & d & "*") Then cell.EntireColumn.Hidden = False
        If (cell.MergeArea.Cells(1) Like "*" & CStr(DateAdd("d", -1, d)) & "*") Then cell.EntireColumn.Hidden = False
    Next cell
End Sub
EducatedFool вне форума
Старый 15.01.2009, 10:58   #3
RUBEY
Пользователь
 
Регистрация: 19.03.2007
Сообщений: 53
По умолчанию Смежные даты

Извиняюсь за смешение тем, но я просто обрадовался, что заметил в обсуждении самого авторитетного для меня гуру и воспользовался моментом. Как всегда , все блестяще и работает без замечаний. Еще раз благодарю
Тема закрыта.
Рубей.
RUBEY вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение дат for_regist1 БД в Delphi 21 26.01.2009 01:29
сцепить значения в формате дат StasSv Microsoft Office Excel 2 21.09.2008 00:44
сравнение дат Geddar Общие вопросы Delphi 2 04.06.2008 19:09
5 дат, которые должен знать каждый Гриха Свободное общение 37 23.02.2007 18:41
Выбор Диапазона Дат Chepa БД в Delphi 2 02.02.2007 10:25