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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 08:23   #1
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию АРХИВАЦИЯ ДАННЫХ И СКРЫТИЕ КОЛОНОК

Добрый день!
Нужен следующий макрос, в диапазоне от колонки G до AW, нужно провести проверку если в G6 разница указанной даты от сегодняшней (указана в ячейке B2) составляет более 20, то необходимо скрыть эту колонку и следующую т.е при выполнении условия должны сворачиваться 2 колонки ( в приведенном примере должны свернуться G и H). и потом проверка должна продолжаться с колонки I на разницу дат в I6 и текущей и так далее.!

И еще нужен макрос выполняющий архивацию данных т.е в том же диапазоне должен проверять наличие ячейки "выполнено" если значение найдено то необходимо также 2 две колонки (в той которая найдено и следующую вырезать и вставит в лист "ARCHIVE" начиная с колонки G)

Если кто0то может помочь буду очень признателен!
Заранее благодарю.
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 09:10   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А где пример файла?
Или его тоже мы должны сделать?
EducatedFool вне форума Ответить с цитированием
Старый 06.08.2010, 09:21   #3
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

В приложении
Вложения
Тип файла: rar HIDE_ADN_ARCHIVE.rar (24.1 Кб, 14 просмотров)
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 12:07   #4
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

даааааааа! видать задачка не так проста!
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 12:40   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
даааааааа! видать задачка не так проста!
Да очень сложная,так как в
Цитата:
нужно провести проверку если в G6 разница указанной даты от сегодняшней
ничего в строке 6 нет.Строка 6 пустая.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.08.2010, 12:44   #6
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Ясен перец нет , это же пример был! Что трудно можно подставить G12 , темболее в таблице это ясно видно! Вообще фаил это шаблон в который надо будет позже занести мероприятия! После их надо отсортировать и заархивировать которые помечены ЗАВЕРШЕНО!
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 12:55   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Макрос на скрытие столбцов
Код:
 Sub  Сложный()
Dim I As Integer
With Sheets("HEAD")
 For I = 7 To .Range("iv12").End(xlToLeft).Column Step 2
 If Now - CDate(.Cells(12, I)) > 20 Then
 .Columns(I).Hidden = True
 .Columns(I + 1).Hidden = True
 End If
 Next
 End With
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.08.2010, 13:07   #8
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Огромное тебе человеческое спасибО doober!
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 13:17   #9
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Макрос на скрытие столбцов
Код:
 Sub  Сложный()
Dim I As Integer
With Sheets("HEAD")
 For I = 7 To .Range("iv12").End(xlToLeft).Column Step 2
 If Now - CDate(.Cells(12, I)) > 20 Then
 .Columns(I).Hidden = True
 .Columns(I + 1).Hidden = True
 End If
 Next
 End With
End Sub
А почеум вот так не хочет работать??!

Sub hideree_()

Dim I As Integer
Dim DH As Integer
DH = InputBox("введите кол-во дней")
With Sheets("HEAD")
For I = 7 To .Range("iv12").End(xlToLeft).Column Step 2
If Now - CDate(.Cells(12, I)) > DH Then
.Columns(I).Hidden = True
.Columns(I + 1).Hidden = True
End If
Next
End With
End Sub
Cone вне форума Ответить с цитированием
Старый 06.08.2010, 13:20   #10
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Цитата:
Сообщение от Cone Посмотреть сообщение
А почеум вот так не хочет работать??!

Sub hideree_()

Dim I As Integer
Dim DH As Integer
DH = InputBox("введите кол-во дней")
With Sheets("HEAD")
For I = 7 To .Range("iv12").End(xlToLeft).Column Step 2
If Now - CDate(.Cells(12, I)) > DH Then
.Columns(I).Hidden = True
.Columns(I + 1).Hidden = True
End If
Next
End With
End Sub
ОКАЗЫВАЕТСЯ ТАК ТОЖЕ РАБОТАЕТ !

СПАСИБО! ПРОБЛЕМА РЕШЕНА!



ОСТАЛОСЬ ТОКА МАКРОС НАЙТИ ЧТОБЫ АРХИВ СОСТАВЛЯТЬ!
Cone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Архивация папки Vistar Общие вопросы .NET 12 11.01.2010 22:29
Архивация БД dron-s БД в Delphi 0 10.03.2008 12:08
Архивация Mitron Общие вопросы Delphi 10 14.02.2008 16:00
Архивация данных ZYRGiX Win Api 6 05.09.2007 20:58