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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрытие столбцов с элементами логики 
:(
    Опции темы
Тимуха
Дата 14.7.2005, 01:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте, уважаемые!

Задача такова: есть документ Exel с множеством парных столбцов, в каждой паре есть поле, содержащее цифру. Необходимо сделать так, чтобы если эта цифра равна нулю - соответствующая пара столбцов скрывалась (очень напрягает вручную скрывать сотни столбцов через Выделение диапазона - Скрыть), а если не равно 0 - все бы оставалось на своих местах.

Это необходимо для скрытия множества столбцов!
Спасибо.

  Вверх
Staruha
Дата 14.7.2005, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Вообще-то похожая тема была.Скрыть пустые строки .в Бэсике.
А так в общем запускаешь цикл если значение равно 0
тогда
Код

...Column.Hidden = True



--------------------
Возмездие настигнет
PM MAIL   Вверх
Тимуха
Дата 14.7.2005, 19:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











[quote]
А так в общем запускаешь цикл если значение равно 0
[quote]

Если можно, прошу поподробнее smile

Я вообще тока первые шаги ступаю в этом нелегком деле.......
  Вверх
Staruha
Дата 14.7.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Код

Private Sub CommandButton1_Click()
For x = 1 To 6
 If Cells(1, x).Value = 0 Then
  Columns(x).Hidden = True
  Columns(x - 1).Hidden = True
  End If
  Next
End Sub


Это сообщение отредактировал(а) Staruha - 14.7.2005, 20:15

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  _______.rar 7,63 Kb


--------------------
Возмездие настигнет
PM MAIL   Вверх
likhobory
Дата 14.7.2005, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



советую так записать
Код
'''''''''''''''''''''''''''''''''''''''
For x = 2 To 6 Step 2
'''''''''''''''''''''''''''''''''''''''''

дабы в 5 строке не вывалиться из цикла




--------------------
PM MAIL   Вверх
Staruha
Дата 14.7.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Что Шаг 2 Это точно.Столбцы же парные.Быстрее проскочит smile


--------------------
Возмездие настигнет
PM MAIL   Вверх
Сезар
Дата 3.8.2005, 16:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хе-хе, Тимуха, кто бы ты ни был, а я тебя наверняка понимаю! У меня похожая ситуация, однако, немного другая. Как можно сделать открытие ячеек при том же сравнении с нулем? Смысл: есть товар (хотя бы 1на штука) в смете - Exel сам откроет ячейки, покажет товар; нету товара - не стоит показывать 100 не заказанных наименований товара. Помогите, профы, плиз!

И еще: можно ли на вопрос Тимухи сделать скрипт отката, т.е. чтобы снова отобразить скрытие ячейки, и как?

  Вверх
Staruha
Дата 3.8.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Цитата
есть товар (хотя бы 1на штука) в смете - Exel сам откроет ячейки, покажет товар; нету товара - не стоит показывать 100 не заказанных

если ячейки,тогда условное форматирование.Т.к можно скрыть либо столбец либо строку.
Цитата
сделать скрипт отката


Код

 Columns(x).Hidden = False 
smile


--------------------
Возмездие настигнет
PM MAIL   Вверх
Displey
Дата 8.8.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здраствуйте!
А как можно будет сделать тоже самое со строками? Попробывал изменить код, но неполучилось :-(
Код

Private Sub CommandButton1_Click()
For y = 2 To 6 Step 2
 If Cells(1, y).Value = 0 Then
  Rows(y).Hidden = True
  
  End If
  Next
End Sub


PM MAIL   Вверх
Staruha
Дата 8.8.2005, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



smile Надо вместо
Цитата
If Cells(1, y).Value = 0 Then


Код

If Cells(y, 1).Value = 0 Then

1 -номер просматриваемого столбца


--------------------
Возмездие настигнет
PM MAIL   Вверх
Displey
Дата 9.8.2005, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Staruha
Спасибо сейчас опробую , все smile
PM MAIL   Вверх
Displey
Дата 9.8.2005, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Staruha
Здраствуйте!
Если можно, то помогите пожалуйста с решением след. задачи.
У меня два макроса которые нужно объеденить в один.
Пример:
Код


Sub Пример()
'
' Пример Макрос
' Макрос записан 08.08.2005 (Action)
'

'
    Range("A1:A19").Select
    Selection.Copy
    Range("H1").Select
    ActiveSheet.Paste
    Range("I16").Select
End Sub


и следущий

Код

Private Sub CommandButton2_Click()
For y = 1 To 30 Step 1
 If Cells(y, 1).Value = 0 Then
  Rows(y).Hidden = True
  
  End If
  Next
End Sub




Нужно создать последовательность , тоесть сначала копирование , потом сортировка по 0.
Я хотел сделать это при помощи "Макрос Рекордер", но он не повторяет действия :-(
PM MAIL   Вверх
Staruha
Дата 9.8.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Код

SPrivate Sub CommandButton2_Click()
  
  Range("A1:A19").Select
    Selection.Copy
    Range("H1").Select
    ActiveSheet.Paste
    Range("I16").Select

 For y = 1 To 30 Step 1
 If Cells(y, 1).Value = 0 Then
  Rows(y).Hidden = True
End Sub
Собственно все работает.Только ты копируешь параллельно.Поэтому в обоих списках нулевые строки скроются.И это не сортировка

Это сообщение отредактировал(а) Staruha - 9.8.2005, 20:27


--------------------
Возмездие настигнет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

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

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

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



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


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

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


 




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


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

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