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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2010, 00:52   #11
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Я не считал, не вижу смысла. В коде выглядит так Range(“D1: NW1”)
segail вне форума Ответить с цитированием
Старый 24.06.2010, 00:56   #12
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Начиная с D1 383 столбца
В году же 365 дней...
segail вне форума Ответить с цитированием
Старый 24.06.2010, 00:56   #13
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Смысл в том, что на 257 ходу цикл будет выдавать ошибку. Последний столбец в Excel имеет имя IV.
pivas вне форума Ответить с цитированием
Старый 24.06.2010, 01:01   #14
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

А в общем случае может выглядеть так:
For i=3 to 256
If Lab_Data.Caption = Cells(i,1).Text Then
Cells(i,1).EntireColumn.Hidden = False
End If
Next i
pivas вне форума Ответить с цитированием
Старый 24.06.2010, 01:07   #15
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Вы в смысле того что столбцов мало? Это Excel 2007.
Пример в рисунке.
Изображения
Тип файла: jpg dat.JPG (23.9 Кб, 150 просмотров)
segail вне форума Ответить с цитированием
Старый 24.06.2010, 01:13   #16
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Простите, не сообразил...
Поправьте в цикле 256 на 283
pivas вне форума Ответить с цитированием
Старый 24.06.2010, 01:19   #17
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Значит полноценно код должен выглядить так?

Код:
Private Sub CommandButton4_Click()
    Dim i As Integer
    For i = 4 To 386
        If Lab_Data.Caption = Cells(i, 1).Text Then
            Cells(i, 1).EntireColumn.Hidden = False
        End If
    Next
End Sub
Наверно в цикле надо поставить 386?
В смысле в том, что в линейка дат, которая предоставлена в рисунке, последняя дата декабря 31.12.2010 приходится на 386 ячейку.
Линейка по замыслу имеет пробелы потому и не 365, тем более первая дата 01.01.2010 начинается с четвертого столбца первой строки.

Последний раз редактировалось segail; 24.06.2010 в 01:30.
segail вне форума Ответить с цитированием
Старый 24.06.2010, 01:45   #18
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Проверил.
Код не работает, не выдает ошибок, просто молчит.
Видать что он правильный но выполняет не ту функцию, он не находит дату и не выполняет данное условие…
segail вне форума Ответить с цитированием
Старый 24.06.2010, 01:48   #19
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Я же говорил будут проблемы с форматом даты. В ячейке дата в формате даты, а Вы ищете дату в текстовом формате.
pivas вне форума Ответить с цитированием
Старый 24.06.2010, 02:01   #20
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Тогда так что ли?
If CDate(Lab_Data.Caption) = CDate(Cells(i, 1).Text) Then
segail вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытый Лист segail Microsoft Office Excel 27 20.07.2009 11:41
макрос который будет копировать столбец А из закрытой книги Данные, и вставлять в книгу Сток в столбец B Utirka66 Microsoft Office Excel 8 06.07.2009 09:53
Скрытый режим VadEr Помощь студентам 5 07.04.2009 18:57
скрытый файл Bayazet Общие вопросы Delphi 4 24.12.2008 15:42
Скрытый файл Andr Безопасность, Шифрование 1 15.06.2007 12:29