Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> По строкам знаю, по столбцам нет… 
:(
    Опции темы
resseg
Дата 23.6.2010, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



Здравствуйте.
Подскажите, покажите, когда то делал, сейчас не могу сообразить.
На листе Excel скрыто определенное количество столбцов.
Как макросом перебрать все ячейки в диапазоне от D1 до NW1 на предмет поиска даты при условии совпадения с датой  элемента управления Lab_Data.Caption, а затем открыть найденный столбец.
PM MAIL   Вверх
FINANSIST
Дата 24.6.2010, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Код

Sub prompt()
Dim rn As Range: Dim fdate As Date: Dim cll As Variant
Set rn = Application.InputBox("Select looking area", Type:=8)
Let fdate = InputBox("Input the date is needed")
For Each cll In rn.Cells
    If cll.Value = fdate Then
        cll.EntireColumn.Hidden = False
    Exit For
    End If
Next cll
End Sub



--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
resseg
Дата 24.6.2010, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



Здравствуйте.
Вот пример открытия строк и столбцов.
Строки открываются, так как надо, а столбцы открываются одновременно. Необходимо чтобы столбцы открывались на выбранную дату…
У Вас код больно навороченный, в данном варианте он не подходит, мне кажется здесь все проще…

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  Dat.rar 12,76 Kb
PM MAIL   Вверх
Hugo121
Дата 24.6.2010, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.5.2010

Репутация: 1
Всего: 2



Там в коде напутано, плюс как оказалось (сам не знал) надо Text заменить на Value, иначе не видит текст скрытых строк:
Код

Private Sub CommandButton4_Click()
    'Открытие столбцов
    Dim i As Integer
    For i = 4 To 8
        If Cells(1, i).Value = Lab_Data.Caption Then
            Image1.BackColor = &HFF&
            Columns(i).EntireColumn.Hidden = False ' Открытие столбца
        End If
    Next
End Sub


А я бы лучше так написал - сразу виден диапазон:
Код

Private Sub CommandButton4_Click()
    'Открытие столбцов
    Dim cc As Range
        For Each cc In [d1:h1].Cells
        If cc.Value = Lab_Data.Caption Then
            Image1.BackColor = &HFF&
            cc.Columns.EntireColumn.Hidden = False ' Открытие столбца
        End If
    Next
End Sub


Это сообщение отредактировал(а) Hugo121 - 24.6.2010, 22:29
PM MAIL   Вверх
resseg
Дата 25.6.2010, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



Спасибо Hugo121 разобрались.
Только почему не видит Text так и не понял.
Только почему не видит Text так и не понял.
Еще вопрос если будет необходимо от найденной ячейки открыть определенное количество столбцов вместе с найденной ячейкой, например 31 столбцов.
Как это будет выглядеть в вашем коде?

Это сообщение отредактировал(а) resseg - 25.6.2010, 16:03
PM MAIL   Вверх
Hugo121
Дата 25.6.2010, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.5.2010

Репутация: 1
Всего: 2



На других форумах есть ответ, почему не видит text - потому что цифры. Был бы текст - увидел бы smile
А если отрыть много столбцов - тогда типа Range надо задавать...
PM MAIL   Вверх
resseg
Дата 25.6.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



В строке то видет...
PM MAIL   Вверх
Hugo121
Дата 25.6.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.5.2010

Репутация: 1
Всего: 2



Парадокс smile

Вот так с диапазоном получилось - открывает найденную колонку и 4-е правее:

Код

 Range(Cells(1, cc.Columns.Column), Cells(1, cc.Columns.Column + 4)).EntireColumn.Hidden = False

Возможны варианты  - указать явно лист, откуда cells...

Это сообщение отредактировал(а) Hugo121 - 25.6.2010, 16:44
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0970 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.